Java表达式在代码中直接声明时有效,但在从Spring注入加载时无效



我的问题是,我有一个表达式来评估给定的用户密码,以验证它是否制作精良。我的表情是这样的:

"((?=.*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})"

最新更新