php 正则表达式文件路径 |特定字符后的第二个匹配

标签 php regex

我试图提取文本内没有磁盘盘符的文件补丁。就像来自 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+

RegEx Demo

正则表达式详细信息:

  • (?<=[a-zA-Z]) :回溯断言我们之前有一个英文字母 :
  • : : 匹配文字 :
  • [^.]+ : 匹配1个以上非点字符
  • \. : 匹配文字 .
  • \S+ : 匹配1个以上非空白字符

关于php 正则表达式文件路径 |特定字符后的第二个匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56568097/

相关文章:

php - wordpress 中的 mySQL 查询错误

php - 使用 while 循环回显 PHP 数组

javascript - 使用 React 将 HTML 元素插入 DOM

c# - 使用正则表达式来匹配模式

php - 使用准备好的语句从 mysql 查询中获取多行?

php - 当将 max() 与 mysqli 一起使用时,只有一个字段发生变化

Javascript 正则表达式只允许特定字符

python - 用于多次搜索和替换的正则表达式

javascript - 正则表达式以 .min.js 为目标。文件 url 中的扩展名

php - 高级 PHP 图像共享。从数据库到 Facebook 墙?