C# 正则表达式:获取除某些匹配字符串之外的所有内容
你好 我对正则表达式很陌生,所以请耐心听我说 在我的系统中,我在一个网格中使用4个过滤器。 其中有三种是使用内置功能与某些潜台词进行简单匹配 e、 gC# 正则表达式:获取除某些匹配字符串之外的所有内容,c#,regex,C#,Regex,你好 我对正则表达式很陌生,所以请耐心听我说 在我的系统中,我在一个网格中使用4个过滤器。 其中有三种是使用内置功能与某些潜台词进行简单匹配 e、 g 过滤器1:显示包含“F0”的所有内容 过滤器2:显示包含“P0”的所有内容 过滤器3:显示包含“D0”的所有内容 这些过滤器工作正常 我的问题是,我需要显示过滤器4(名为“其他”)中的所有其他内容。它可能是任何东西 我可以用正则表达式覆盖内置过滤,我正在考虑使用正则表达式查找不包含三段文本(“F0”、“P0”、“D0”)的所有内容。 此文本将始终
^...(?!F0).*|^...(?!P0).*|^...(?!D0).*
但这总是会产生一个真实的结果,因为这些是ORs,我需要和他们在一起
示例数据:
- EDMF01-不应选择
- EDMF02-不应选择
- EDMF03-不应选择
- EDMP01-不应选择
- EDMP02-不应选择
- EDMD01-不应选择
- EDMMIS-应选择
- FXMMIS-应选择
- 应选择JSEDTP
- 应选择不包含“F0”、“P0”或“D0”的任何单词
- 您需要使用单个
^...(?![FPD]0).*
甚至
^.{3}(?![FPD]0)
见
详细信息
-开始输入^
/..
-换行以外的任意3个字符{3}
-不允许在当前位置右侧紧跟(?![FPD]0)
或F
或P
D
-除换行符以外的任何0+字符,尽可能多(如果您在*
中使用模式,Regex.IsMatch
是不必要的,因为该方法允许部分字符串匹配)*
^(?。*[DFP]0)。*