Notepad++中如何用正则匹配<id>标签内含连字符的数字
正则实现方案
直接使用以下正则规则即可完成匹配:
<id>\d+-\d+<\/id>
规则逐段说明
<id>:匹配固定的id起始标签字符串\d+:匹配1位及以上的连续数字-:强制匹配连字符,从规则层面过滤所有不含连字符的id内容\d+:匹配连字符后1位及以上的连续数字<\/id>:匹配固定的id闭合标签,/前的反斜杠是正则专用转义符,用于避免正则语法冲突
匹配效果说明
针对你给出的测试文本,该规则只会命中你需要的两条目标内容:
<id>1234-12</id> <id>12345-123</id>
其余不带连字符的条目(<id>123</id>、<id>12345</id>、<id>12346</id>)都不会被匹配到。
补充:如果你只需要提取标签中间的带连字符数字、不需要保留前后的id标签,可以使用带捕获组的规则:
<id>(\d+-\d+)<\/id>,匹配完成后取第一个捕获分组的内容即可。如果你的实际场景中连字符前后可能存在空白字符,可以将规则调整为<id>\s*\d+-\d+\s*<\/id>做适配。
内容的提问来源于stack exchange,提问作者stav
相关产品推荐
相关产品推荐

