Son*_*hut 73 java regex string
Regexes中是否有NOT运算符?就像在那个字符串中:"(2001) (asdf) (dasd1123_asd 21.01.2011 zqge)(dzqge) name (20019)"
我想删除所有\([0-9a-zA-z _\.\-:]*\)
但不是一年的那个:(2001)
.
那么正则表达式应该返回的是:(2001) name
.
注意:类似的东西\((?![\d]){4}[0-9a-zA-z _\.\-:]*\)
对我不起作用((20019)
不知何故也匹配......)
Joh*_*erg 133
虽然通常你可以在其中一个表单上使用一些解决方法,但并不完全
[^abc]
,这不过是a
,b
,c
后面没有a(?!b)
a
,之前b
没有(?<!a)b
Joa*_*uer 80
不,没有直接的非运营商.至少不是你希望的方式.
但是,您可以使用零宽度负向前瞻:
\((?!2001)[0-9a-zA-z _\.\-:]*\)
Run Code Online (Sandbox Code Playgroud)
的(?!...)
部分是指"仅当文本匹配以下(:先行因此)此不.(因此:负)匹配该但它实际上并不消耗它匹配的字符(因此:零宽度).
实际上有4种外观与2个轴的组合: