shqf 发表于 2012-2-25 14:24:43

[已解决]如何根据标签来提取XML中的部分内容(正则请教)?

本帖最后由 shqf 于 2012-2-25 15:55 编辑

有一XML文档,中有多对<item></item>标签,欲提取<item>和</item>标签中的内容(有多行,行数不定)。如下的方法<item>(((.*\n.*)+)(</item>)?)能取到第一对<item>和</item>中的内容,再提取到的是其后文档的全部内容了。我刚开始学正则,一天了,实在没有能力解决,特请教论坛各位达人,该如何写这个正则表达式呢?
附文档部分内容:
...<item>    <word>sensible</word>
    <trans><![CDATA[n. 可感觉到的东西;敏感的人
adj. 明智的;明显的;意识到的;通晓事理的
]]></trans>
    <phonetic><!]]></phonetic>
    <tags>161</tags>
    <progress>1</progress>
</item><item>    <word>sense</word>
    <trans><![CDATA[n. 感觉,官能;观念;道理;理智
vt. 感觉到;检测
]]></trans>
    <phonetic><!]]></phonetic>
    <tags>161</tags>
    <progress>1</progress>
</item><item>    <word>senior</word>
    <trans><![CDATA[n. 上司;较年长者;毕业班学生
adj. 高级的;年长的;地位较高的;年资较深的,资格较老的
]]></trans>
    <phonetic><!]]></phonetic>
    <tags>161</tags>
    <progress>1</progress>
</item>....

shqf 发表于 2012-2-25 15:52:29

呵呵,搞到现在,终于懂了,要使用非贪婪模式。正则如下:<item>([\s\S]*?)</item>

xms77 发表于 2012-2-25 18:43:16

恭喜努力出成果了,自己搞定有很大的成就感吧?

xkowen 发表于 2012-2-26 02:32:58

我感觉au3不好超控xml
页: [1]
查看完整版本: [已解决]如何根据标签来提取XML中的部分内容(正则请教)?