我使用 spring 来设置我的正则表达式
Spring :
<property name="regularExpressionAsString" value="(?<!\\.TMP)\\Z" />
代码:
public void setRegularExpressionAsString(String regularEx) {
this.regularExpression = Pattern.compile(regularEx);
}
这不能正常工作,当我调试我的 setter 时,我发现 spring 将\转义为\\有什么方法可以解决这个问题吗?
最佳答案
虽然没有回答您原来的问题:您是否考虑过直接将 setter 参数更改为 java.util.regex.Pattern? Spring 有一个PropertyEditor为此,您可以直接注入(inject)您的模式:
应用程序上下文:
<property name="regularExpression" value="(?<!\.TMP)\Z" />
bean :
public void setRegularExpression(Pattern regularExpression) {
this.regularExpression = regularExpression;
}
关于java - 如何用 spring 设置正则表达式字符串而不被转义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3459562/