替换字符串中最后出现的单词
Replace last occurrence of a word within a string
我正在尝试替换字符串中最后出现的单词。
这行不通:
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);
JSFiddle
为什么第一个版本不能工作,我该如何修复它?
我已经修改了您的输入字符串和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?(?!g?']|'(contact)
替换:@[Kenneth Auchenberg](contact:1)
看到演示。
如果你确定你想要匹配的名字在字符串的末尾,你可以使用:
/(Kenneth Auchenberg)'s*$/
注意:你的代码中有一个错别字。最后一个Kenneth Auchenberg
写成Kenneth Auchenber
(末尾缺少'g')。
相关文章:
- 从输入值中删除最后一个单词
- Javascript/jQuery替换tamil语言输入框中的最后一个单词
- Regex:使用javascript测试最后一个单词后的url中是否存在最后一个斜杠
- 使用JavaScript匹配URL中的最后一个单词
- 添加一个“;以及“;到String-js/Angular中的最后一个单词
- 如何在文本区域中获取最后一个单词的位置
- PHP 使用 file_get_contents 从.txt文件中获取最后五个单词
- 打印出字符串中所有单词的最后一个字符
- 正则表达式获取 / 和 / 之间的 URL 中的最后一个单词
- 使用正则表达式提取句子中的最后几个单词
- 如何使用正则表达式获取第一个和最后一个单词
- 正则表达式,用于从 TitleCase(驼峰大小写)获取最后一个单词
- 字符字符串中最后一个单词的第一个字母
- Javascript - 获取一行中的最后一个单词
- 在最后一个单词 Javascript 之前附加字符串
- 如何添加<br/>在最后一个单词上加标签
- 如何使用Javascript正则表达式从可能的单词列表中获取单词的最后一次出现
- 在CodeMirror中查找自定义语言模式的段落的第一个单词和最后一个单词
- 如何在保持第一个和最后一个字符相同的情况下对单词进行加扰?(JS)
- 谷歌地图标记.getPosition只使用最后一个单词