我正在使用 Spring 从属性文件注入正则表达式模式,但我遇到了涉及 & 符号的错误。
Exception in thread "main" java.util.regex.PatternSyntaxException: Illegal
character range near index 34 [ A-Za-z0-9¦#_/<>[]():^¬+=%$£!`@'-&,.";*?€]
我的表达是:
[ A-Za-z0-9¦#_/<>[]():^¬+=%$£!`@'-u0026,.";*?\u20AC]
它适用于RegExPal
我尝试转义字符并使用 UniCode,但仍然收到相同的错误。
有谁知道Java/Spring中是否有导致这种情况发生的东西?
对连字符进行双重转义,或将其保留在字符类中的第一个或最后一个位置:
[- A-Za-z0-9¦#_/<>[\]():^¬+=%$£!`@'\u0026,.";*?\\\u20AC]
您可以从错误中清楚地看到它已在此处删除了转义:
character range near index 34 [ A-Za-z0-9¦#_/<>[]():^¬+=%$£!`@'-&,.";*?€]