如何从属性文件中获取java正则表达式?

时间:2017-03-21 13:05:50

标签: java regex groovy properties

在阅读动态正则表达式搜索并替换值时,b.e从属性中,java jre可能无法正常工作。如何让它与\ chars一起使用?

String search = props.getProperty("search", null);
String replace = props.getProperty("replace", null);
String strResult = strText.replaceAll(search, replace);

(Java正则表达式通常与文字正则表达式配合使用。)

1 个答案:

答案 0 :(得分:0)

一种解决方案(处理反斜杠\字符)

String groovy = "def String gregex = '" +search + "'; return gregex;";
Binding binding = new Binding();
GroovyShell shell = new GroovyShell(binding);
Object result = shell.evaluate(groovy);
if (result != null && result instanceof String) {
    strData = strData.replaceAll(result.toString(), replace);
}
else
    strData = strData.replaceAll(search, replace);