我正在尝试匹配字符串“menu-item”,但后面有一个数字。
<li id="menu-item-578" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-578">
我可以使用这个正则表达式
menu-item-[0-9]*
然而它匹配所有菜单项字符串,我想只匹配"menu-item-578"
但不匹配id="menu-item-578"
我该怎么做?
谢谢
答案 0 :(得分:1)
你应该避免使用menu-item-[0-9]*
,因为它与多余的预期子字符串匹配,但是因为它超出了menu-item-
中与menu-item-one
的匹配。
除了用+
替换量词之外,你必须查看前面的字符是不是非空白字符:
(?<!\S)menu-item-[0-9]+(?=["' ])
或者如果你的正则表达式味道不支持外观你可能想要这样做可能不准确:
[ ]menu-item-[0-9]+
您还可以考虑使用更严格的模式跟随字符:
[ ]menu-item-[0-9]+["' ]
答案 1 :(得分:0)
答案 2 :(得分:0)