Java正则表达式和xml标记

时间:2012-12-06 13:30:31

标签: java regex

我想解决:<tag>alphabetic characters and space</tag>

我建议这个:

<.*>([A-Za-z]+)</.*>

这是正确的吗?

3 个答案:

答案 0 :(得分:8)

请为了任何可怜的开发人员在您之后处理您的代码,请不要尝试使用正则表达式解析XML。

使用SAX或DOM解析器。如果您在Google上搜索,网上有很多优秀的指南,但这是一个使用标准javax.xml包的简单示例...

Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(xmlFile);
Node node = doc.getElementsByTagName("tag").item(0);
String value = node.getNodeValue();

答案 1 :(得分:2)

如果输入为<tag> something <inner-tag> some other thing </inner-tag> </tag>

,该怎么办?

我建议您使用XML解析器库,例如Apache Digester

答案 2 :(得分:-1)

您应添加?字符以排除冗余选择

    <.*?>[A-Za-z ]*</.*?>
相关问题