正则表达式。如何从xml文档中提取值

时间:2014-01-12 13:08:47

标签: java xml regex

我刚刚开始弄清楚正则表达式是什么,但我的时间非常有限!

我在xml中有一个字符串,如:<myid>1234</myid>,现在我的xml在txt中,它曾经是一个xml文档。

如何制作模式以从<myid>标记中提取1234。

1 个答案:

答案 0 :(得分:1)

如果真的看起来像这样:

<myid>1234</myid>

...你可以像这样提取它:

Matcher match = Pattern.compile("<myid>(\d+)</myid>").matcher(str);

...然后重复使用匹配器,从捕获组中获取值。

但是 有一个原因 每个人都在告诉你使用正确的解析器。上面有很多方法可能会失败,两者都不恰当地匹配,并且无法匹配。

正确的解决方案是使XML有效,然后解析它,并使用XPath或类似的方法来读取值。

如果您确实有一些工具要求您发送无效的XML,则需要替换该工具。但更可能的是,这是一些误解。