Java Regex - 非法重复字符

时间:2014-03-03 11:58:39

标签: java regex regex-greedy

我的正则表达式是

(?:--|#|\/\*|{)

当我在java中使用Pattern.complie()编译它时,我得到* 非法重复字符*

我测试了这个正则表达式

(a|\/\*|b)

当我编译它时,它没有显示错误。

为什么会这样?

1 个答案:

答案 0 :(得分:2)

because of {。它用于指定应该重复多少次。例如,x{2,4}将匹配x重复的2(xx),3(xxx)或4(xxxx)次。

如果您希望正则表达式匹配{字面值,则需要对其进行转义:

(?:--|#|\/\*|\{)