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