Answers:
不,没有直接的非运算符。至少不是您希望的方式。
您可以使用零宽度的负前瞻,但是:
\((?!2001)[0-9a-zA-z _\.\-:]*\)
该(?!...)
部分的意思是“仅在以下文本(因此:前瞻)与此(因此:否定)不匹配时才匹配。但是它实际上并不会消耗其匹配的字符(因此为零宽度)。
实际上,有2个轴的环顾四周有4种组合:
\((?![\d]{4})[0-9a-zA-z _\.\-:]+\)
仍然(20019)
使用它
{4}
外面,在此注释中,您将其放在里面:您尝试了哪一个?另外:如果要(20019)
匹配,则必须在\)
内部添加前瞻性:\((?![\d]{4}\))[0-9a-zA-z _\.\-:]+\)
\((?![\d]{4} -->\)<--)[0-9a-zA-z _\.\-:]+\)
然后有一个没有闭合的支架,不是吗?
)
因为我想匹配文字字符)
(就像您在正则表达式的开头和结尾一样!)。然后,在完成匹配之后,我使用了unscapeed结束了前瞻)
。
不完全是,尽管通常您可以在其中一种表格上使用一些替代方法
[^abc]
,每个字符都不是a
或b
或c
,a(?!b)
,a
之后不跟b
(?<!a)b
,这是b
不被preceededa
[^abc]
应表示不是a
or b
或c
,不是“不是字符串abc
”。
(2001) name
。