Java表达式在直接在代码中声明时起作用,但在从Spring注入加载时不起作用

时间:2012-02-22 16:58:20

标签: java regex map

我的问题是我有一个表达式来评估给定的用户密码,以验证它是否是一个很好的。我的表情看起来像这样:

"((?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{6,20})"

好吧,我的问题是,当我直接使用string.matches()方法放置这个字符串时,它可以使用密码,但是如果我把它放在Spring注入的地图中那样

<map>
<entry key="PASSWORD_FILTER_EXPRESSION" value="((?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{6,20})" />
</map>

使用它从这里加载它不起作用。我一直在调试,显然它在两个地方使用相同的字符串,问题出在哪里?

1 个答案:

答案 0 :(得分:1)

逃避斜杠:

"((?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{6,20})"