我在使用回溯匹配特定字符串时遇到了问题。
以下是要匹配的示例字符串。
- Warning</b>: include(db.inc.php) [<a
href='function.include'>function.include</a>]:
- Warning</b>: mysql_real_escape_string() [<a
href='function.mysql-real-escape-string'>function.mysql-real-escape-string
正则表达式:
warning<\/b>\:\s++(.*)\(.*?\)\s\[<a\shref='(function.\1)'>\2/m
上面的正则表达式将匹配第一个示例,但第二个示例将失败。由于第一个具有多个单词“mysql_real_escape”的捕获组之间会有“_”。
在匹配之前,有没有办法可以用“ - ”替换\ 1中的“_”。
正则表达式引擎:PCRE