首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DOM4J读取Regex

DOM4J读取Regex
EN

Stack Overflow用户
提问于 2015-10-20 02:37:45
回答 1查看 72关注 0票数 0

我目前正在使用dom4j从xml读取regex模式,但是匹配函数总是返回false,即使通过字符串返回与我在xml中键入的完全相同。

示例XML:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<root>
    <username-pattern><![CDATA[^\\w+$]]></username-pattern>
</root>

示例代码(不起作用):

代码语言:javascript
复制
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");
        }

    }
}

如果将变量username_pattern_notwork替换为Pattern.matches中的username_pattern_work (username_pattern_notwork,"ooo"),它将正常工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-20 02:48:13

在阅读了源代码之后,dom4j从xml读取的字符串已经转义了。

这意味着我不需要手动转义xml文件中的字符串。即

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<root>
    <username-pattern><![CDATA[^\w+$]]></username-pattern>
</root>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33227059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档