REGEX:
((?<=blah)[^@\Z]+)
它应该捕获前面有blah
并以@
结尾或字符串结尾的符号符号。
将\Z
括在字符类中的正确技巧是什么?
答案 0 :(得分:3)
不,字符类只能包含文字字符或其他字符类;您的示例匹配 not 的任何内容@
,\Z
锚点被忽略,因为它本身不是字符类。请注意,^
插入符号否定了字符组。使用组代替|
'或'符号代替:
((?<=blah)(?:[^@]+|\Z))
我在那里使用了一个非捕获组((?:...)
)来对这两个选项进行分组。该组匹配不 @
,或的任何字符,它与\Z
字符串结尾锚点匹配。