我试图提取文本内没有磁盘盘符的文件补丁。就像来自 AvastSecureBrowserElevationService; C:\Program Files (x86)\AVAST Software\Browser\Application\elevation_service.exe [X]
提取 :\Program Files (x86)\AVAST Software\Browser\Application\elevation_service.exe
.
我的实际正则表达式看起来像这样,但它会停在任何可以包含文件名的空格上。
(?<=:\\)([^ ]*)
我想出的解决方案是,我可以匹配点后的第一个空格字符,因为很少有机会出现点后带有空格的目录名,而且我总是会进行快速手动检查。但我不知道如何在正则表达式中写这个
最佳答案
您可以使用此正则表达式来实现此目的:
(?<=[a-zA-Z]):[^.]+\.\S+
正则表达式详细信息:
-
(?<=[a-zA-Z])
:回溯断言我们之前有一个英文字母:
-
:
: 匹配文字:
-
[^.]+
: 匹配1个以上非点字符 -
\.
: 匹配文字.
-
\S+
: 匹配1个以上非空白字符
关于php 正则表达式文件路径 |特定字符后的第二个匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56568097/