使用正则表达式删除所有锚定标记中的“ _”之后的所有内容

时间:2018-11-21 16:59:33

标签: regex string notepad++

我希望任何正则表达式删除所有锚标记中下划线后的所有内容,例如

输入:<a href="/category_592">Text</a>

输出<a href="/category">Text</a>

1 个答案:

答案 0 :(得分:0)

尽管您应该避免使用正则表达式来解析HTML,但是由于这种情况是不会嵌套的定位标记的情况,因此您可以使用正则表达式进行快速工作。使用此正则表达式匹配group1和group2中的数据,

(<a\s+[^>]*?href=["'][^']*?)_.*?(["'])

并用\1\2(或根据语言选择$1$2)替换

Check the demo

您没有提到在href属性中存在多个下划线的情况下应如何替换数据,因此,到目前为止,我已经以某种方式替换了第一次出现下划线时的所有内容,但是您可以轻松实现通过使正则表达式为贪婪来消除下划线的出现。