正则表达式从xml文本中提取字符串

时间:2017-02-02 11:38:42

标签: java regex

我有几行和包含这些行的文字文档。我想提取在“pn =”之后出现的数据,并将其放在地图中,在下面的情况下成为我的关键字 Fulton_County_Grand_Jury 价值。需要帮助构建一个正则表达式来提取它。

 <wf cmd=done rdf=group pos=NNP lemma=group wnsn=1 lexsn=1:03:00::
 pn=group>Fulton_County_Grand_Jury</wf>

2 个答案:

答案 0 :(得分:1)

使用正则表达式,使用此模式:&#34; pn =(。*?)&gt;&#34;

    final String hex = "<wf cmd=done rdf=group pos=NNP lemma=group wnsn=1 lexsn=1:03:00:: pn=group>Fulton_County_Grand_Jury</wf>";
    final Matcher m = Pattern.compile("pn=(.*?)>").matcher(hex);
    while (m.find()) {
        System.out.println(m.group(1));
    }

答案 1 :(得分:1)

最可靠的方法是使用XML解析器。

除此之外,您还必须查找pn=,其结尾以及><之间的部分。像这样的东西

<wf.*? pn=([^ >]+).*?>(.*?)<