【问题标题】:Javascript regex which exclude a specific word in a string [duplicate]Javascript正则表达式排除字符串中的特定单词[重复]
【发布时间】:2021-03-01 16:57:10
【问题描述】:

我在使用正则表达式时遇到了一些问题,到目前为止,除了以下问题,我没有任何问题:

我有 2 个字符串,我想匹配一个但不匹配包含特定单词的第二个。

var text1 = "The sun is yellow and the sky is blue";
var text2 = "The sun is yellow and the clouds are white"; 

这个例子真的很基础,但我的正则表达式之前是这样的:

var regex = /sun/g;

所以这对于 text1 来说没问题,但现在我想在字符串包含“clouds”时返回 false 所以 text1 是 TRUE 但不是 text2

我尝试使用 (?!clouds) 但我可能做错了。在这个级别上使用正则表达式非常困难。所以我希望你能帮助我。

谢谢

【问题讨论】:

    标签: javascript regex string


    【解决方案1】:

    这样的事情可以做到:

    ^(?!.*\bclouds\b)(?=.*\bsun\b).*$
    

    https://regex101.com/r/TYZHwS/1

    【讨论】:

    • 完美运行,谢谢!我正在尝试通过您共享的网站了解您的代码。如果我想添加像“clouds|rain”这样的“或”,我尝试使用“|”但不起作用。其实我不需要它,但以防万一
    • @Genki 喜欢这个? regex101.com/r/dJaXUL/1
    • 是的!但我注意到你没有使用“或”分隔符?
    • @Genki ^(?!.*\b(clouds|rain)\b)(?=.*\b(sun|moon)\b).*$
    • @Calculuswhiz 完美!谢谢你们两个:D这将有很大帮助
    猜你喜欢
    • 2021-01-02
    • 2011-01-05
    • 2021-04-20
    • 2022-01-27
    • 2021-11-16
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 2018-05-14
    相关资源
    最近更新 更多