gpt4 book ai didi

Javascript 正则表达式在一行时匹配 XML 结束标记

转载 作者:行者123 更新时间:2023-11-28 03:41:15 27 4
gpt4 key购买 nike

我必须匹配 XML 字符串的最后一个结束标记,无论它们位于同一行还是位于不同的行。

案例1:

</any></any>

案例2:

  </any>
</any>

案例3:

  </any>

</any>

因此,在上述情况下,我必须匹配最后一个 </any>即使它们位于同一行/单独的行或者前后有空格,也要标记。

我能做的就是/([^\s].+)$/g ,但只有当它们位于不同的行时,才会匹配最后一个。如果它们在同一条线上,我都会返回。

我怎样才能让它发挥作用?

Playground 链接: https://regexr.com/4idl7

最佳答案

您可以使用

/<\/[^>]*>(?![\s\S]*<\/[^>]*>)/

请参阅regex demo .

由于预期的匹配始终是单个,因此使用 g 是没有意义的。修饰符。

详细信息

  • <\/[^>]*> -</ ,除 > 之外的任何 0+ 个字符和一个 >
  • (?![\s\S]*<\/[^>]*>) - 没有任何 0+ 字符 ( [\s\S]* ) 后跟 </ ,除 > 之外的任何 0+ 个字符和一个 >允许紧邻当前位置的右侧。

关于Javascript 正则表达式在一行时匹配 XML 结束标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57287350/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com