String Java正则表达式的开始

时间:2013-11-07 03:46:03

标签: java regex

我希望匹配字符串开头或1之后出现的a

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

2 个答案:

答案 0 :(得分:2)

尝试这样的模式:

(^|a)1

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

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

(?<=^|a)1

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

答案 1 :(得分:1)

我不确定这是不是你的意思,但也许你正在寻找像

这样的东西
(?<=\\A|a)1

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

(?<=^|a)1