Javascript 获取除一个特定单词以外的所有单词
我想使用JS正则表达式匹配函数从字符串中获取除一个之外的所有单词。例如,对于字符串Javascript 获取除一个特定单词以外的所有单词,javascript,regex,Javascript,Regex,我想使用JS正则表达式匹配函数从字符串中获取除一个之外的所有单词。例如,对于字符串testhello123worldtestWTF,不包括单词test,结果将是helloworldWTF 我意识到我必须使用前瞻函数来实现它,但我不能给出具体的实现方式。我提出了以下正则表达式(?!test)[a-zA-Z]+(?=.*test),但是,它只能部分工作 嗯,我会尝试用一个空字符串替换被指控的单词,不是吗?对它来说,环顾四周似乎是一种过度的杀伤力,你只需将测试替换为零: var str = 'test
testhello123worldtestWTF
,不包括单词test
,结果将是helloworldWTF
我意识到我必须使用前瞻函数来实现它,但我不能给出具体的实现方式。我提出了以下正则表达式(?!test)[a-zA-Z]+(?=.*test)
,但是,它只能部分工作
嗯,我会尝试用一个空字符串替换被指控的单词,不是吗?对它来说,环顾四周似乎是一种过度的杀伤力,你只需将
测试
替换为零:
var str = 'testhello123worldtestWTF';
var res = str.replace(/test/g, '');
将其插入到重新填充中会产生您想要的结果:
/(test)/g
它匹配所有出现的单词“test”,而不拾取不需要的单词/字母。您可以将其设置为保存这些变量所需的任何变量。注意事项 鉴于您在输入的字符串中没有设置分隔符,我必须说您不能可靠地排除特定的单词-在一定程度上 例如,如果要排除
测试
,如果输入是抗议者
或旋转测试
,则可能会产生问题。您对一个词的含义没有明确的界限,因此导致您在无意中排除测试
另一方面,如果您只是想忽略字符串
test
,则只需将test
替换为空字符串即可。可能重复,因此我注意到您的问题很奇怪。你说你想检查“测试”,但在你的结果中,你也去掉了123和测试。这是打字错误吗?他说的“word”是指[a-zA-Z]+
,没有数字。请将您的问题修改为与您在评论中所说的一致(例如,您要进行替换,以及替换前后字符串的确切外观)。问题是我想将所有找到的单词都更改为word
。所以我需要保留单词test。对于testhello123worldtestWTF