使用 NotePad++ 和正则表达式将匹配项的所有实例与字符串连接起来

Use NotePad++ & regex to concatenate all instances of a match with a string

我有一堆 .php 个参考文献不完整的文件。

例如:<a href="dishItem.php">

我正在尝试使用 NotePad++ 查找和替换功能来查找所有 .php 实例并在匹配项前面连接一个字符串。因此,在找到前面的示例后,它会将其与 http://Example.com/ 连接起来,例如:<a href="http://Example.com/dishItem.php">.

这可以用 NotePad++ 或其他任何东西实现吗?我对正则表达式不是很熟悉。谢谢

Select 搜索模式 作为正则表达式

查找: (http://Example.com\/)

替换: <a href="dishItem.php">

将光标放在第一行并全部替换

在记事本++中使用以下正则表达式

查找内容<a href="([^"]*?\.php)">

替换为<a href="http://Example.com/">

  • 我打开了一个文件,所以我点击了 'Replace All in All Opened Documents'

  • 括号 () 内的所有内容都被捕获。

  • [^"]*? 表示所有内容,但不是 " 字符。 (懒惰!stops/fails第一次出现。

  • 指第一个捕获组。

也许 .php 文件可能未在锚标记内格式化您可以只搜索文件而不是整个 <a href ....>

查找:([^"]*?\.php)

替换:http://Example.com/

查找(?<=")(.*?\.php)

替换为:http://Example.com/

查看演示。

https://regex101.com/r/eS7gD7/13

使用环顾四周:

Find: (?<=<a href=")(?=[^"]+\.php">)
Replace: http://Example.com/

这种方法意味着不必捕获任何东西或使用反向引用;它与替换的插入点匹配。