问题
My regex is
(?:--|#|\/\*|{)
When i compile this using Pattern.complie() in java, I am getting *Illegal Repetitive Character *
I tested this regex
(a|\/\*|b)
When i compiled this, It shows no error.
Why does this occur ?
回答1:
It is because of {. It is used to specify how many times something should it be repeated. For instance x{2,4}
will match x
repeated 2 (xx
), 3 (xxx
) or 4 (xxxx
) times.
If you want regex to match {
literal it needs to be escaped:
(?:--|#|\/\*|\{)
来源:https://stackoverflow.com/questions/22146173/java-regex-ilegal-repetition-character