【问题标题】:Javascript Regex matching xml tagsJavascript 正则表达式匹配 xml 标签
【发布时间】:2013-08-09 15:11:58
【问题描述】:

我将匹配<textEntryInteraction responseIdentifier="RESPONSE" expectedLength="15"/> 之类的内容,并且我希望它只出现一次。 当我使用/<textEntryInteraction [^>]+\/>/g搜索和匹配标签时,我不知道为什么pattern.test(xml)返回false。

但是,如果我使用 /<textEntryInteraction [^>]+\/>/,它会返回 true。

谁能帮帮我?

【问题讨论】:

  • 为什么不使用 XML 解析器?必读:stackoverflow.com/questions/1732348/…
  • @MattBall 如果XML的根节点不止一个,XML解析器能检测到吗?
  • 你确定它返回 false 吗?在这里,我尝试了您的模式,它返回 true。也许你应该尝试“ig”而不是“g”来忽略大小写问题。
  • 如果有多个根节点,则说明您没有有效的 XML。

标签: javascript regex


【解决方案1】:

如果我是你,我会认真考虑使用 jQuery 而不是正则表达式来处理这类工作。你可以做这样的事情。

var $xml = $($.parseXML(yourXMLcontent));
var $textEntries = $xml.find('textEntryInteraction');

然后你可以filter your textEntries by attribute values

filter function

【讨论】:

  • 如果 textEntryInteraction 不存在,我可以处理这种情况吗?
  • 是的,函数“find”和“filter”都返回数组。只需检查返回值的长度即可。
猜你喜欢
  • 2014-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多