javascript - 正则表达式替换字符串

标签 javascript regex

我有如下字符串模式,如下所示。

“XX0XX XX7XX XX11XX XX26XX XX30XX XX38XX XX45XX **3** 10.1,贝尔金键盘保护套”

我必须将最后一个“3”替换为“XX49XX”,它没有带有“XX”的前缀和后缀

到目前为止我已经完成了下面的代码,它替换了第一次出现的 3,这是不正确的

var string = 'XX0XX XX7XX XX11XX XX26XX XX30XX XX38XX XX45XX 3 10.1, Belkin Keyboard Folio';

str = string.replace(/3/, 'XX49XX');

最佳答案

您可以使用否定前瞻来匹配最后一个3:

string = string.replace(/3(?!.*3)/, 'XX49XX');

// XX0XX XX7XX XX11XX XX26XX XX30XX XX38XX XX45XX 49 10.1, Belkin Keyboard Folio

关于javascript - 正则表达式替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23826178/

相关文章:

javascript - 触摸事件属性

ruby - 使用正则表达式在 Ruby 中的单词列表中拆分字符串

javascript - 正则表达式只允许字母、空格和 - 只

javascript - 在javascript中获取HTML + JS页面的下载大小

javascript - jQuery:取消最顶层 LI 元素上的可排序?

javascript - 带有删除按钮的输入字段

javascript - 模态背景滚动中的 Bootstrap 模态

python - 如何删除重复的连续字符并使用正则表达式保留第一个字符?

正则表达式 BNF 语法

javascript - 正则表达式验证应该允许特定值