我想匹配1
在 String 或a
.
我试过[\Aa]1
了,但这给了我一个 PatternSyntaxException。
尝试这样的模式:
(^|a)1
将^
匹配字符串的开头,而a
将匹配文字拉丁字母a
。称为交替,将|
匹配左侧或右侧的模式,而括号限制交替的范围。
现在,这将包括a
作为匹配字符串的一部分。如果您想避免这种情况,您可以使用lookbehind,如下所示:
(?<=^|a)1
这将匹配 a 1
,但前提是它紧跟在字符串的开头或拉丁字母之前a
。
我不确定这是否是您的意思,但也许您正在寻找类似的东西
(?<=\\A|a)1
或者如果您没有使用Pattern.MULTILINE
标志
(?<=^|a)1