正则表达式多个字符,但没有特定的字符串

问题描述

我的行包括:

  • 可选:“否”,
  • 可选:两个非空格字符,
  • 几个非空格字符。

我想从包含以下内容的每一行中捕获字符串:

  • 可选:两个非空格字符(但不是“ no”部分),
  • 几个非空格字符。

示例行:

ab123
ab 123
no abc123
no ab 123

我要捕获:

ab123
ab 123
abc123
ab 123

我的正则表达式(仅适用于不带“ no”的示例)。

^
  (?! no \s) # not "no "
  ( # match it
    (?: \S{1,2} \s )? # optional: 1-2 non whitespace characters and one space,BUT NOT GET "no " (it doesn't works)
    \S+ # non whitespace characters
  )
$

在线示例(4个单元测试):https://regex101.com/r/70soe2/1

也许我应该以某种方式在(?! no \\s)前面使用否定性看待还是在(?<! no \\s)后面使用否定性看待?但是我不知道如何使用它。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)