Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
正则表达式:
((?<=blah)[^@\Z]+)
它应该捕获以字符串或字符串blah结尾@或结尾的符号符号。\Z在字符类中包含正确的技术吗?
blah
@
\Z
不可以,字符类只能包含文字字符或其他字符类;您的示例匹配任何不是a@的\Z锚点,因为它本身不是字符类,所以会被忽略。请注意,^插入符号否定字符组。改用带有|“或”符号的组:
^
|
((?<=blah)(?:[^@]+|\Z))
我在那里使用了一个非捕获组 ( (?:...)) 来对这两个选项进行分组。该组匹配任何不是 @的字符,或者它匹配\Z字符串结尾的锚点。
(?:...)