gpt4 book ai didi

c# - 正则表达式 : Getting everything except certain matching strings

转载 作者:行者123 更新时间:2023-11-30 21:35:11 25 4
gpt4 key购买 nike

你好,

我对正则表达式很陌生,所以请多多包涵。

在我的系统中,我在一个网格中使用了 4 个过滤器。在其中三个中,它是使用内置功能与某些潜台词进行简单匹配例如

  1. 过滤器 1:显示包含“F0”的所有内容。
  2. 过滤器 2:显示包含“P0”的所有内容。
  3. 过滤器 3:显示包含“D0”的所有内容。

这些过滤器工作正常。

我的问题是我需要在过滤器 4(名为“其他”)中显示所有其他内容。它可能是任何东西。

我可以使用正则表达式覆盖内置过滤,我正在考虑使用一个来查找不包含这三段文本(“F0”、“P0”、“D0”)的所有内容。此文本将始终是单词的第 4 个和第 5 个字母。

但是这样的表情会怎样呢?

任何帮助将不胜感激。

我能做的最好的就是以下,我尝试了负面的前瞻

^...(?!F0).*|^...(?!P0).*|^...(?!D0).*

但这总是会导致 true,因为这些是 OR,我需要对它们进行 AND。

示例数据:

  • EDMF01 - 不应选择
  • EDMF02 - 不应选择
  • EDMF03 - 不应选择
  • EDMP01 - 不应选择
  • EDMP02 - 不应选择
  • EDMD01 - 不应选择
  • EDMMIS - 应选择
  • FXMMIS - 应选择
  • JSEDTP - 应选择
  • 应选择不包含“F0”、“P0”或“D0”的任何单词

最佳答案

你需要单独使用

^...(?![FPD]0).*

甚至

^.{3}(?![FPD]0)

参见 regex demo

详情

  • ^ - 输入开始
  • .../.{3}​​ - 除换行符外的任意 3 个字符
  • (?![FPD]0) - 没有 FPD 后跟 0 允许紧靠当前位置的右侧
  • .* - 除换行符外的任何 0+ 个字符,尽可能多(如果您在 Regex.IsMatch 中使用模式,则 .* 不是必需的,因为该方法允许部分字符串匹配)。

关于c# - 正则表达式 : Getting everything except certain matching strings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49445974/

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