我正在使用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中是否存在导致这种情况发生的事情?
答案 0 :(得分:1)
双重转义连字符或将其保留在角色类的第一个或最后一个位置:
[- A-Za-z0-9¦#_/<>[\\]():^¬+=%$£!`@'\\u0026,.";*?\\\\\\u20AC]
你可以从错误中清楚地看到它已经删除了逃避:
character range near index 34 [ A-Za-z0-9¦#_/<>[]():^¬+=%$£!`@'-&,.";*?\€]