美好的一天,
我对正则表达式很陌生,所以请耐心等待。
在我的系统中,我在网格中使用了4个过滤器。 在其中三个中,它是使用内置功能与某些子文本的简单匹配 e.g。
这些过滤器运行正常。
我的问题是我需要在过滤器4中显示其他所有内容(名为“其他”)。它可能是任何东西。
我可以使用正则表达式覆盖内置过滤,我正在考虑使用一个来查找不包含三个文本的所有内容(“F0”,“P0”,“D0”)。 这段文字永远是这个词的第4和第5个字母。
但这样的表达怎么样呢?
非常感谢任何帮助。
我能做的最好的是以下,我尝试了负面预测
^...(?!F0).*|^...(?!P0).*|^...(?!D0).*
但是这总是会产生一个真实的,因为这些是OR,我需要AND它们。
示例数据:
答案 0 :(得分:3)
您需要使用一个
^...(?![FPD]0).*
甚至
^.{3}(?![FPD]0)
请参阅regex demo
<强>详情
^
- 输入开始...
/ .{3}
- 除换行符之外的任何3个字符(?![FPD]0)
- 不允许F
或P
或D
紧跟当前位置右侧的0
.*
- 除了换行符之外的任何0 +字符,尽可能多(如果您使用Regex.IsMatch
中的模式.*
则不需要{{1}},因为该方法允许部分字符串匹配)。