我的数据库中有HTML链接需要修改。示例链接如下所示:
<a href="http://example.com/category/subcategory/1,23,456.html">My Link </a>
并希望将其更改为:
<a href="http://example.com/category/subcategory/456.html">My Link </a>
我已经尝试了:/(href=".*)\d+.*,/U
但最终只删除了1,
形式的链接。我最大的问题是告诉表达式“查找任何出现的数字后跟逗号,但不是句号”。
任何人都可以帮我找到一个RegEx删除所有数字后跟逗号吗?请记住,这些链接属于非常大的HTML代码块。所以正则表达式必须只匹配这些链接。
继正则表达式之后
(?:(?:^|(?<!\\)").*?href=")(*SKIP)(?!)|\d+,
(*SKIP)(?!)
(?!)
:失败
(*SKIP)
:避免回溯.*?href="
:在第一个href="
序列之前匹配所有(?:^|(?<!\\)")
和请注意,如果href可能出现在标记之外,则可能不安全。
^
使用相同技术的安全解决方案
"