regex 获取除一个特定单词以外的所有单词

bkhjykvo  于 2023-05-08  发布在  其他
关注(0)|答案(4)|浏览(210)

我想使用JS正则表达式匹配函数从一个字符串中获取所有单词,除了一个单词。例如,对于字符串testhello123worldtestWTF,排除单词test,结果将是helloworldWTF
我意识到我必须使用前瞻函数来完成它,但我不能确切地计算出如何。我想出了下面的正则表达式(?!test)[a-zA-Z]+(?=.*test),但是,它只能部分工作。

new9mtju

new9mtju1#

恕我直言,我会尝试用一个空字符串来代替有罪的词,不是吗?

fykwrbwg

fykwrbwg2#

Lookarounds似乎是一个矫枉过正,你可以只替换test与什么:

var str = 'testhello123worldtestWTF';
var res = str.replace(/test/g, '');
ghg1uchk

ghg1uchk3#

将其插入您的refiddle会产生您正在寻找的结果:

/(test)/g

它匹配单词“test”的所有出现,而不会拾取不需要的单词/字母。你可以把它设置为任何你需要保存这些的变量。

yrdbyhpb

yrdbyhpb4#

注意事项

由于在输入的字符串中没有设置分隔符,我必须说,在某种程度上,您无法可靠地排除特定的单词。
例如,如果要排除test,则如果输入是protesterrotatestreet,则可能会产生问题。你没有一个词是什么的明确界限,因此导致你在你可能不想的时候排除test。
另一方面,如果你只是想忽略字符串test,只要用一个空字符串替换test就可以了。

相关问题