正则替换字符串中的一部分

假如原字符串为

<class="dark" id="user1_1_1">

要将最后一个_1替换为_3

1、先使用RegexBuddy调试如下

 
$1,$2代表第1,2个分组,正则表达式()代表分组

 2、手写转换js函数如下

//替换第三个_id
function replaceById(p_html,p_id) {
    var regexp = new RegExp(/(\sid="[a-zA-Z]+\d+)_(\d+)_(\d+)"/g);
    var newHtml = p_html.replace(regexp, "$1_" + "$2_" + p_id+"\"");// 用正则表达式替换第三个数字
    return newHtml;
}

 g代表全部替换

posted @ 2020-02-18 22:36  zhaogaojian  阅读(3539)  评论(0编辑  收藏  举报