我有这个正则表达式:
^[a-z0-9]+([.\-][a-z0-9]+)*$
我需要从匹配中排除只有一个单词“www”。 我尝试了否定的前瞻但没有成功。
答案 0 :(得分:3)
使用像这样的否定前瞻:
www
这与等于-www-
的字符串不匹配。
请参阅regex demo
如果您希望与包含.www.
或^(?!.*\bwww\b)[a-z0-9]+([.-][a-z0-9]+)*$
的字符串匹配失败,请使用
(?!.*\bwww\b)
见another regex demo。此模式包含一个www
前瞻,如果字符串中的某个地方有\b
并且由于String ans = "";
...
ans = "1" + ans;
字边界而没有数字或字母围绕它,则会导致整个匹配失败。