【问题标题】:Regular expression to match text that "doesn't" contain a word?正则表达式匹配“不”包含单词的文本?
【发布时间】:2015-07-08 05:32:45
【问题描述】:

我想使用正则表达式排除某些单词。

输入文本:

aaa1234 cc bbb1234 c1234 cc dd aacc cccc ccadf cc

输出文本:

aaa1234 bbb1234 c1234 dd aacc cccc ccadf

排除词:cc

我用(^|\s)[^(cc)]+(\s|$)

如何使正则表达式起作用?

【问题讨论】:

标签: javascript jquery regex


【解决方案1】:
\s+\bcc\b|\bcc\b\s+

试试这个。替换为empty string。查看演示。

https://regex101.com/r/cK4iV0/25

【讨论】:

    【解决方案2】:

    您可以使用类似 (^|\s+)cc(\s+|$) 的方式过滤单词 cc,然后将其替换为空字符串

    var word='aaa1234 cc bbb1234 c1234 cc dd aacc cccc ccadf cc';
    
    console.log(word.replace(/(^|\s+)cc(\s+|$)/g,' ').trim());

    【讨论】:

    • 嗯好的,我现在明白了。虽然它没有提供所需的输出aaa1234 bbb1234 c1234 dd aacc cccc ccadf,但提供了aaa1234bbb1234 c1234dd aacc cccc ccadf
    • 第一个留双空格,第二个留一个尾随空格(在末尾)。
    猜你喜欢
    • 2016-01-14
    • 2017-02-06
    • 1970-01-01
    • 1970-01-01
    • 2022-12-11
    相关资源
    最近更新 更多