if(possTape.matches("{\\(\\d+,\"[^:=;@\"\\)\\(\\{\\}\\[\\]]+\"\\)(,\\(\\d+,\"[^:=;@\"\\)\\(\\{\\}\\[\\]]+\"\\))+}"))

但是,这是什么意思?我已经在正则表达式上测试了这个正则表达式(进行了调整,使其可以像Java一样工作),但是我看不到有非法重复出现的地方?

最佳答案

逃避花括号?

根据this answer:

{和}在Java的regex方言(以及与此有关的大多数其他方言)中是特殊的:它们是重复量词{n,m}的开始和结束标记,其中n和m是整数。因此,错误消息:“非法重复”。

关于java - Eclipse表示此正则表达式中存在非法重复,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9525870/

10-10 21:39
查看更多