我的正则表达式是
(?:--|#|\/\*|{)
当我在java中使用Pattern.complie()编译它时,我得到* 非法重复字符*
我测试了这个正则表达式
(a|\/\*|b)
当我编译它时,它没有显示错误。
为什么会这样?
答案 0 :(得分:2)
是because of {
。它用于指定应该重复多少次。例如,x{2,4}
将匹配x
重复的2(xx
),3(xxx
)或4(xxxx
)次。
如果您希望正则表达式匹配{
字面值,则需要对其进行转义:
(?:--|#|\/\*|\{)