gpt4 book ai didi

c# - 一个正则表达式匹配,其中一个词出现在一行中,而没有另一个词出现

转载 作者:行者123 更新时间:2023-11-30 20:23:37 24 4
gpt4 key购买 nike

为此,我已经浏览了很多示例和帖子,但没有一个有效。我想找到一个单词出现而另一个单词不出现的行。使用 Regex.IsMatchC# 中工作 – 我拉入一个文件并在该文件上运行正则表达式。

Match if "WriteLine" found without "ALLOWEDTAG".

这不匹配:

Console.WriteLine("FOUND line without"); // ALLOWEDTAG

这会匹配

Console.WriteLine("FOUND line without"); // anything.

我尝试了以下方法:

TagRegex = @"WriteLine.^((?!ALLOWED TAG).)*$";
TagRegex = @"\<WriteLine(:Wh+~(ALLOWED_TAG):w=:q)+:Wh*";
TagRegex = @"^(?!.[\s\S]*ALLOWEDTAG).[\s\S]*WriteLine.*$";
TagRegex = @"^(?!.*ALLOWEDTAG).*WriteLine.*$";
TagRegex = @"((?!ALLOWEDTAG).)*WriteLine.*";
TagRegex = @"((.*WriteLine.*)(?!.*ALLOWEDTAG.*))";

怎么了?

最佳答案

您需要使用基于负前瞻的正则表达式。当您尝试匹配多行时,添加多行修饰符 (?m)

@"(?m)^(?!.*?\bALLOWEDTAG\b).*?\bWriteLine\b.*"

DEMO

关于c# - 一个正则表达式匹配,其中一个词出现在一行中,而没有另一个词出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28545903/

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