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
Javascript 获取除一个特定单词以外的所有单词_Javascript_Regex - Fatal编程技术网

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

Javascript 获取除一个特定单词以外的所有单词,javascript,regex,Javascript,Regex,我想使用JS正则表达式匹配函数从字符串中获取除一个之外的所有单词。例如,对于字符串testhello123worldtestWTF,不包括单词test,结果将是helloworldWTF 我意识到我必须使用前瞻函数来实现它,但我不能给出具体的实现方式。我提出了以下正则表达式(?!test)[a-zA-Z]+(?=.*test),但是,它只能部分工作 嗯,我会尝试用一个空字符串替换被指控的单词,不是吗?对它来说,环顾四周似乎是一种过度的杀伤力,你只需将测试替换为零: var str = 'test

我想使用JS正则表达式匹配函数从字符串中获取除一个之外的所有单词。例如,对于字符串
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