C# 如何匹配不包含模式的字符串

C# 如何匹配不包含模式的字符串,c#,regex,negative-lookahead,negative-lookbehind,C#,Regex,Negative Lookahead,Negative Lookbehind,我正在尝试编写一个正则表达式模板,它匹配所有不包含特定模板的字符串 例如: 匹配项: This is my friend. He is very nice. 在 但与以下内容不匹配: This is my friend John Michaels Fredrickson. He is very nice. 因为它包含如下内容:([A-Z][A-Z]+\s?{3}您可以使用负前瞻: ^(?!.*?([A-Z][a-z]+\W){3}).*$ 听起来更像是全文搜索,而不是正则表达式的任

我正在尝试编写一个正则表达式模板,它匹配所有不包含特定模板的字符串

例如:

匹配项:

This is my friend. He is very nice. 

但与以下内容不匹配:

  This is my friend John Michaels Fredrickson. He is very nice. 

因为它包含如下内容:([A-Z][A-Z]+\s?{3}您可以使用负前瞻:

^(?!.*?([A-Z][a-z]+\W){3}).*$

听起来更像是全文搜索,而不是正则表达式的任务…我不太清楚,你在问什么。如果您有一个与
If(regex.Match(s))
匹配的字符串,只需反转条件使其不匹配:
If(!regex.Match(s))
您是否理解
包含的含义。。因为单词/模式在
中,这是我的朋友约翰·迈克尔斯·弗雷德里克森。他很好。
Contains是真的。。最好阅读包含的内容及其含义
^(?!.*?([A-Z][a-z]+\W){3}).*$