Java - Spring注入RegEx - 非法字符 - &符号

时间:2016-02-15 12:32:29

标签: java regex spring spring-mvc

我正在使用Spring从属性文件中注入一个RegEx模式,但我遇到了涉及Ampersand的错误。

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中是否存在导致这种情况发生的事情?

1 个答案:

答案 0 :(得分:1)

双重转义连字符或将其保留在角色类的第一个或最后一个位置:

[- A-Za-z0-9¦#_/<>[\\]():^¬+=%$£!`@'\\u0026,.";*?\\\\\\u20AC]

你可以从错误中清楚地看到它已经删除了逃避:

character range near index 34 [ A-Za-z0-9¦#_/<>[]():^¬+=%$£!`@'-&,.";*?\€]