我写了这个正则表达式
(<b>)\b[a-zA-Z][a-zA-Z0-9_]{4,15}</b>
但是我希望只有在完全匹配的情况下才触发匹配,所以我认为我需要这样做
((<b>)\b[a-zA-Z][a-zA-Z0-9_]{4,15}</b>){1}
但是它似乎不起作用。我在做什么错了?
答案 0 :(得分:2)
尝试使用否定的前瞻断言第二次匹配没有发生:
^(?!.*\b[a-zA-Z][a-zA-Z0-9_]{4,15}\b.*\b[a-zA-Z][a-zA-Z0-9_]{4,15}\b).*\b[a-zA-Z][a-zA-Z0-9_]{4,15}\b.*$
这是一个冗长的正则表达式,很难阅读。假设您要匹配单词BAT
仅出现一次的字符串。我们可以这样写:
^(?!.*\bBAT\b.*\bBAT\b).*\bBAT\b.*$