在变量中使用正则表达式

时间:2015-09-23 09:12:01

标签: java regex xml-parsing

我正在尝试使用适用的正则表达式解析列出的文件,将正则表达式字符串接受到变量,然后在表达式中使用它。但在这样做时,我面临着与\无法使用它们的麻烦。下面是使用代码的块。你能告诉我为什么它适用于“”©?。*“”而不适用于“”©?\\ s * \\ w +。*“”。该表达式无效。

String valuePattern = attrs.getNamedItem("valuePattern").getTextContent();
if (newNodeName == "") {
    System.out.println(valuePattern);
    // System.out.println("Inside Delete node...");
    if (valuePattern == ""
        || (valuePattern != "" && node.getTextContent().matches(valuePattern))) {
        System.out.println("in match");
        System.out.println("Deleting: " + node.getTextContent());
        node = null;
    }

1 个答案:

答案 0 :(得分:0)

正如Jon Skeet指出的那样,首先,你应该修复你的String比较。

String valuePattern = attrs.getNamedItem("valuePattern").getTextContent();
if (("").equals(newNodeName) {
    System.out.println(valuePattern);
    if (("").equals(valuePattern)
        || (!("").equals(valuePattern) && node.getTextContent().matches(valuePattern))) {
        System.out.println("in match");
        System.out.println("Deleting: " + node.getTextContent());
        node = null;
    }
}