【发布时间】:2015-10-20 02:37:45
【问题描述】:
我目前正在使用 dom4j 从 xml 读取正则表达式模式,但即使字符串返回与我在 xml 中键入的内容完全相同,matches 函数也总是返回 false。
示例 XML:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<username-pattern><![CDATA[^\\w+$]]></username-pattern>
</root>
示例代码(不工作):
public class Test
{
public static void main( String[] args ) throws DocumentException
{
File inputFile = new File("C://test/test.xml");
SAXReader saxBuilder = new SAXReader();
Document document = saxBuilder.read(inputFile);
Element rootElement = document.getRootElement();
String username_pattern_notwork = rootElement.elementTextTrim("username-pattern");
String username_pattern_work = "^\\w+$";
if(!(Pattern.matches(username_pattern_notwork, "ooo"))){
System.out.println("===============Err=========");
}else{
System.out.println("OK");
}
}
}
如果在 Pattern.matches(username_pattern_notwork, "ooo") 中将变量 username_pattern_notwork 替换为 username_pattern_work ,它将正常工作
【问题讨论】: