【问题标题】:Regex to select/replace greater than symbol in spefic <tag>正则表达式选择/替换特定 <tag> 中的大于符号
【发布时间】:2013-09-23 10:37:57
【问题描述】:

我试图选择特定&lt;tag&gt; 之间的所有小于 (

例子:

<mytag>
   the number 1<2!
</mytag>

在本例中,我想选择

【问题讨论】:

  • 您应该在问题中包含您的尝试。此外,如果您的数据是 xml 或 html 格式,则使用适当的解析器可能会更容易。
  • 用正则表达式解析 XML 不是一个好主意。
  • 您需要更明确地搜索您要搜索的内容:您是否想要仅在两个数字之间找到的所有
  • 大家好,感谢您的回复。这是一个非常复杂的情况。我正在为通过 ajax 加载一些页面的商店系统编写插件。我想从页面中取出 JS 并将其放在我的标题中。只要 JS 不包含任何小于 (
  • @PhilippWoe 你只有&lt; 还是&gt; 也有问题?

标签: regex replace match


【解决方案1】:

也许你可以使用这样的正则表达式?

<(?=[^>\/]*<\/)

regex101 demo.

基本上,这部分(?=[^&gt;\/]*&lt;\/) 确保&lt; 后面跟着一个&lt;\ 部分,中间没有任何&gt;,因此标签中的左尖括号将不匹配。

【讨论】:

  • 好的,到目前为止非常感谢。但我需要一种方法来指定父元素,因为 不会是我的根元素..
  • 您可以在正则表达式中指定它吗? (?=[^&gt;\/]*&lt;\/mytag) 之类的东西?
  • @PhilippWoe 是的!没问题:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-29
  • 2021-12-19
相关资源
最近更新 更多