Java表达式在直接在代码中声明时有效,但在从Spring注入加载时无效
我的问题是,我有一个表达式来计算给定的用户密码,以验证它是否是一个制作良好的密码。我的表情是这样的:Java表达式在直接在代码中声明时有效,但在从Spring注入加载时无效,java,regex,map,Java,Regex,Map,我的问题是,我有一个表达式来计算给定的用户密码,以验证它是否是一个制作良好的密码。我的表情是这样的: "((?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{6,20})" 我的问题是,当我直接使用string.matches()方法放入这个字符串时,它和密码一起工作,但是如果我将它放入Spring这样注入的映射中 <map> <entry key="PASSWORD_FILTER_EXPRESSION" value="((?=.*\d)(
"((?=.*\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>
用它从这里加载它不起作用。我一直在调试,显然它在两个地方使用了相同的字符串,问题出在哪里?避开斜杠:
"((?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{6,20})"