爪哇 - 弹簧注入正则表达式 - 非法字符 - 与号



我正在使用 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¦#_/<>[]():^¬+=%$£!`@'-&,.";*?€]

最新更新