gpt4 book ai didi

C# 正则表达式匹配不在自定义标签内

转载 作者:太空宇宙 更新时间:2023-11-03 14:57:55 25 4
gpt4 key购买 nike

我使用标签的形式

[[MyTag]]Some Text[[/MyTag]]

为了在整个文本中找到这些标签,我使用了以下表达式(这与此处的问题无关,但仅供引用):

\[\[(?<key>.*\w)]\](?<keyvalue>.*?)\[\[/\1\]\]

现在我喜欢只匹配和替换不在这些自定义标签内的文本 (MYSEARCHTEXT)。

例子:

[[Tag1]]Here I don't want to replace MYSEARCHTEXT[[/Tag1]]
But here MYSEARCHTEXT (1) should be replaced. And here MYSEARCHTEXT (2) needs to be replaced too.
[[AnotherTag]]Here I don't want to replace MYSEARCHTEXT[[/AnotherTag]]
And here I need to replace MYSEARCHTEXT (3) also.

MYSEARCHTEXT 是一个单词或短语,需要在本例中找到 3 次。

最佳答案

也许这行得通?如果我正确地理解了这个问题,这将在您的标签之外匹配 MYSEARCHTEXT 并且您的匹配项将在组中。这使用 positive lookahead

https://regex101.com/r/C8Kuiz/2

(?:\[\[Tag1.*?\/Tag1\]\])\n?(?:.*)(?=(MYSEARCHTEXT))

关于C# 正则表达式匹配不在自定义标签内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48034865/

25 4 0