需要C#help中的正则表达式

需要C#help中的正则表达式,c#,regex,C#,Regex,我当前的正则表达式看起来有点像这样: (?<name>[\w\-"]+)[ \n]+MODULE-IDENTITY (?[\w\-“]+)[\n]+模块标识 它搜索MODULE-IDENTITY,然后返回前面的单词(带-和“符号”)。现在我想添加一些东西,检查MODULE-IDENTITY之前的单词是否为,比如DOG,它不会导致匹配 有人能帮忙吗?关于这个具体的例子: (?<name>[\w\-"]+)(?<!DOG)[ \n]+MODULE-IDENTITY

我当前的正则表达式看起来有点像这样:

(?<name>[\w\-"]+)[ \n]+MODULE-IDENTITY
(?[\w\-“]+)[\n]+模块标识
它搜索MODULE-IDENTITY,然后返回前面的单词(带-和“符号”)。现在我想添加一些东西,检查MODULE-IDENTITY之前的单词是否为,比如DOG,它不会导致匹配


有人能帮忙吗?

关于这个具体的例子:

(?<name>[\w\-"]+)(?<!DOG)[ \n]+MODULE-IDENTITY
(?[\w\-“]+)(?)?
这将匹配

测试
模识别

但不是



MODULE-IDENTITY

这是排除单词
dog

(?<name>\b(?!\bdog\b)[\w\-"]+\b+)[ \n]+MODULE-IDENTITY

在给出模块标识之前,编写正则表达式以检查任何单词的方法如下: 但是,您需要进行IsMatch检查,如:
System.Text.RegularExpressions.Regex.IsMatch(s,sPattern,System.Text.RegularExpressions.RegexOptions.IgnoreCase),其中s是您的输入字符串,sPattern是您的正则表达式,最后一个参数是进行匹配的一些选项。

您能给出一个文本文件的真实示例以及您想要的结果吗?
string strRegex = @"(?<name>\b(?!\bdog\b)[\w\-""]+\b+)[ \n]+MODULE-IDENTITY";
Regex myRegex = new Regex(strRegex, RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.CultureInvariant);
string strTargetString = @"hi dog MODULE-IDENTITY test";

foreach (Match myMatch in myRegex.Matches(strTargetString))
{
  if (myMatch.Success)
  {
    // in this case no matches found because of "dog" word in input
   }
 }