与"Colorado"
,"Co"
或"CO"
匹配的正则表达式是什么,不包括诸如"Co."
或"co."
这样的句点的字符串?>
此:
/\b(Colorado|Co|CO)\b/i
匹配"CO"
的两个实例。如何排除包含点的匹配项?
此:
\b(?:(?!Co\.)\w)+\b
忽略"Co."
,但我不知道如何将其与允许的关键字结合使用。
答案 0 :(得分:1)
您可以在Co
之后添加负前瞻:
/\b(Colorado|Co(?!\.))\b/i
^^^^^^
请参见Rubular demo
请注意,我省略了co
替代项,因为您使用的是不区分大小写的i
修饰符,该修饰符使Co
等于co
。
另一种方法是在第一个\b
之后的组之前添加否定前瞻:
/\b(?!Co\.)(Colorado|Co)\b/i
^^^^^^^^
在这里,\b
声明单词边界处的位置,然后如果(?!Co\.)
是当前位置右侧的文本,并且{{1} }与整个单词Co.
或(Colorado|Co)\b
匹配。
请注意,如果您手动编写图案,则可以进一步缩短图案,例如
Colorado