1

正则表达式:

((?<=blah)[^@\Z]+)

它应该捕获以字符串或字符串blah结尾@或结尾的符号符号。\Z在字符类中包含正确的技术吗?

4

1 回答 1

3

不可以,字符类只能包含文字字符或其他字符类;您的示例匹配任何不是a@\Z锚点,因为它本身不是字符类,所以会被忽略。请注意,^插入符号否定字符组。改用带有|“或”符号的组:

((?<=blah)(?:[^@]+|\Z))

我在那里使用了一个非捕获组 ( (?:...)) 来对这两个选项进行分组。该组匹配任何不是 @的字符,或者它匹配\Z字符串结尾的锚点。

于 2013-02-03T12:12:39.503 回答