Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.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,我试图替换字符串中最后出现的单词 这不起作用: var str = '@[Kenneth Auchenberg](contact:1) @[kenneth@auchenberg.dk](contact:7) Kenneth Auchenber'; v = str.replace(/Kenneth Auchenberg(?![sS]*Kenneth Auchenberg?)/ , '@[Kenneth Auchenberg](contact:1)'); alert(v); 不过,这很管用: va

我试图替换字符串中最后出现的单词

这不起作用:

var str = '@[Kenneth Auchenberg](contact:1) @[kenneth@auchenberg.dk](contact:7) Kenneth Auchenber';
v = str.replace(/Kenneth Auchenberg(?![sS]*Kenneth Auchenberg?)/ , '@[Kenneth Auchenberg](contact:1)');
alert(v);
不过,这很管用:

var str = '-44-test alue-1564test alue';
str = str.replace(/test alue(?![\s\S]*test alue)/, 'aa');
alert(str);


为什么第一个版本不起作用,我如何修复它?

搜索:
Kenneth Auchenberg?(?!g?\]\\(联系)

替换:
@[Kenneth Auchenberg](联系人:1)


请参阅。

我已修改了您的输入字符串和regexp代码。 首先,修改的
[\s\s]*Kenneth Auchenberg
g
缺失
Kenneth Auchenberg';

var str = '@[Kenneth Auchenberg](contact:1) @[kenneth@auchenberg.dk](contact:7) Kenneth Auchenberg';
v = str.replace(/Kenneth Auchenberg(?![\s\S]*Kenneth Auchenberg?)/ , '@[Kenneth Auchenberg](contact:1)');
alert(v);

var str = '-44-test alue-1564test alue';
str = str.replace(/test alue(?![\s\S]*test alue)/, 'aa');
alert(str);

如果确定要匹配的名称位于字符串末尾,则可以使用:

/(Kenneth Auchenberg)\s*$/

注意:您的代码中有一个输入错误。最后一个
Kenneth Auchenberg
写为
Kenneth Auchenber
(末尾缺少一个“g”)

您能显示您想要的输出吗?
Kenneth Auchenberg(?[sS]*Kenneth Auchenberg?)
将名称(后面不跟esses)与名称再次匹配,并带有可选的g。这令人困惑,请告诉我们您想要什么输出。仍然没有运气,所需的输出是@[Kenneth Auchenberg](联系方式:1)@[kenneth@auchenberg.dk](联系人:7)@[Kenneth Auchenberg](联系人:1)@DhruvPatel:这个似乎很好用,我看不出有什么问题。你能添加更清晰的例子吗?你能编辑这个提琴吗?@DhruvPatel修复了错误,添加了演示。:)