0

我想匹配1在 String 或a.

我试过[\Aa]1了,但这给了我一个 PatternSyntaxException。

4

2 回答 2

2

尝试这样的模式:

(^|a)1

^匹配字符串的开头,而a将匹配文字拉丁字母a。称为交替,将|匹配左侧或右侧的模式,而括号限制交替的范围。

现在,这将包括a作为匹配字符串的一部分。如果您想避免这种情况,您可以使用lookbehind,如下所示:

(?<=^|a)1

这将匹配 a 1,但前提是它紧跟在字符串的开头或拉丁字母之前a

于 2013-11-07T03:47:19.340 回答
1

我不确定这是否是您的意思,但也许您正在寻找类似的东西

(?<=\\A|a)1

或者如果您没有使用Pattern.MULTILINE标志

(?<=^|a)1
于 2013-11-07T03:52:16.217 回答