我在学习过程中正在使用正则表达式做一些实验。
输入为:I am ironman and I was batman and I will be superman
我想匹配单词batman
以外的所有单词
我尝试了[^(batman)]+
,但它与字符串中任何位置的字符a,b,m,n,t
不匹配
我该如何实现?
最佳答案
几种方法是可能的:
负前瞻断言(?!...)
(不跟):
\b(?!batman\b)\w+
与捕获组(您必须仅考虑捕获组1):
\b(?:batman\b|(\w+))
为什么您的模式不起作用:
您编写了
[^(batman)]
,但字符类只是没有顺序的字符集合,您无法在其中描述子字符串。和[^abmnt()]
一样