我已阅读有关此主题的其他帖子,但我找不到答案。我想在两个XML标签之间找到一些东西,但我不想在结果中看到标签。在一篇文章中,我可以看到所有包含两个标记的行,但我不希望在结果中只看到标签中的标签或标签之间的数字。
示例:
<primaryAddress>
<addressLine>280 Flinders Mall</addressLine>
<geoCodeGranularity>PROPERTY</geoCodeGranularity>
<state:sti condition="Equals">include1</state:sti>
<latitude>-19.261365</latitude>
<longitude>146.815585</longitude>
<state:sti condition="Equals">include1.1</state:sti>
<postcode>4810</postcode>
<state:stiv condition="Equals">not-include</state:stiv>
<suburb>Townsville</suburb>
<type>PHYSICAL</type>
</primaryAddress>
我想查找<state:sti>
和</state:sti>
代码之间的所有内容。例如,在运行正则表达式之后,我想看到这些结果:
include1
include1.1
我不希望因为其他标签而看到“不包含”。如果你写了答案,请告诉我在哪里可以测试结果。
答案 0 :(得分:1)
试试这个:
/(<.+>)(.+)(<\/.+>)/g
每个匹配的第二组将是标签之间的数据
答案 1 :(得分:1)
我想查找
<state:sti>
和</state:sti>
之间的所有内容 标签
/<state:sti .*?>(.*?)<\/state:sti>/g
...请告诉我在哪里可以测试结果。
就在这里:
text = '<primaryAddress>\
<addressLine>280 Flinders Mall</addressLine>\
<geoCodeGranularity>PROPERTY</geoCodeGranularity>\
<state:sti condition="Equals">include1</state:sti>\
<latitude>-19.261365</latitude>\
<longitude>146.815585</longitude>\
<state:sti condition="Equals">include1.1</state:sti>\
<postcode>4810</postcode>\
<state:stiv condition="Equals">not-include</state:stiv>\
<suburb>Townsville</suburb>\
<type>PHYSICAL</type>\
</primaryAddress>';
document.write(text.match(/<state:sti .*?>(.*?)<\/state:sti>/g));