Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何使用正则表达式捕获与特定单词不同的单词?_Regex_Regex Negation_Backreference_Negative Lookahead - Fatal编程技术网

Regex 如何使用正则表达式捕获与特定单词不同的单词?

Regex 如何使用正则表达式捕获与特定单词不同的单词?,regex,regex-negation,backreference,negative-lookahead,Regex,Regex Negation,Backreference,Negative Lookahead,我想知道,我如何捕捉任何不完全是“黄色”的单词。e、 g.:“红色” 我尝试了以下正则表达式: (?!(yellow)) 。。。但我有两个问题: 它不会捕获(创建反向引用)匹配表达式(例如:“红色”) “YellowWWWWWW”与我的正则表达式不匹配,即使它与“yellow”不同 你能帮我改一下正则表达式吗? 谢谢 要捕获任何非黄色的单词,您可以使用: \b((?!\byellow\b)\w+)\b 在线演示:怎么样 (?!yellow$) 只有当您想要捕获组时,才需要原始正则表达式中

我想知道,我如何捕捉任何不完全是“黄色”的单词。e、 g.:“红色”

我尝试了以下正则表达式:

(?!(yellow))

。。。但我有两个问题:

  • 它不会捕获(创建反向引用)匹配表达式(例如:“红色”)
  • “YellowWWWWWW”与我的正则表达式不匹配,即使它与“yellow”不同
  • 你能帮我改一下正则表达式吗?
    谢谢

    要捕获任何非
    黄色的单词,您可以使用:

    \b((?!\byellow\b)\w+)\b
    
    在线演示:怎么样

    (?!yellow$)
    
    只有当您想要捕获组时,才需要原始正则表达式中的内括号

    $
    确保只有
    黄色
    不匹配。如果你想在一个短语中使用它,就用这个代替

    (?!yellow\b)
    

    你的绳子是什么?仅一个单词,或多个单词之间用空格分隔?这与
    yellowwww
    不匹配,而OP希望这样做:/您可能应该像
    \b((?!yellow\b)\w+)\b一样使用sthg