gpt4 book ai didi

正则表达式替换文本但在文本位于特定标签之间时排除

转载 作者:行者123 更新时间:2023-12-04 02:39:57 26 4
gpt4 key购买 nike

我有以下字符串:

Lorem ipsum Test dolor sit amet, consetetur sadipscing elitr, sed diam nonumy <a href="http://Test.com/url">Test</a> eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd sed Test dolores et ea rebum. Stet clita kasd gubergren, no sea <a href="http://url.com">Test xyz</a> takimata sanctus est Lorem ipsum dolor sit amet.

现在我将替​​换标签之外的字符串“Test”而不是标签之间的字符串(例如,替换为“1234”)。
Lorem ipsum 1234 dolor sit amet, consetetur sadipscing elitr, sed diam nonumy <a href="http://Test.com/url">Test</a> eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd sed 1234 dolores et ea rebum. Stet clita kasd gubergren, no sea <a href="http://url.com">Test xyz</a> takimata sanctus est Lorem ipsum dolor sit amet.

我从这个正则表达式开始: (?!<a[^>]*>)(Test)([^<])(?!</a>)
但是有两个问题没有解决:
  • 文本 'Test' 也在标签内被替换(例如 <a href="http://Test.com/url"> )
  • 标签之间的文本是否与搜索的文本不完全匹配,它也会被替换(例如 <a href="http://url">Test xyz</a> )

  • 我希望有人有解决方案来解决这个问题。

    最佳答案

    (?!<a[^>]*?>)(Test)(?![^<]*?</a>)

    与 zb226 相同,但使用延迟匹配进行了优化

    此外,不建议在原始 HTML 上使用正则表达式。

    关于正则表达式替换文本但在文本位于特定标签之间时排除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12493128/

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