Javascript 用正则表达式替换字符串中的随机数
我需要替换下划线后的随机字符串这是我的代码Javascript 用正则表达式替换字符串中的随机数,javascript,jquery,regex,Javascript,Jquery,Regex,我需要替换下划线后的随机字符串这是我的代码 var map_list_tmpl_pre = '<div>some odd</div><ul><li class="single_map_list" onClick="showlist(\'parent_id_3aXw\')"></li> <li class="single_map_list" onClick="showlist(\'parent_id_3aXw\')">
var map_list_tmpl_pre = '<div>some odd</div><ul><li class="single_map_list" onClick="showlist(\'parent_id_3aXw\')"></li>
<li class="single_map_list" onClick="showlist(\'parent_id_3aXw\')"></li>
</ul>';
$(map_list_tmpl_pre).filter('.single_map_list').each(function(index, currentLink) {
alert(currentLink.outerHTML.replace(/(parent_id_)[0-9][a-z][A-Z]/, 'parent_id_newID'));
});
var-map\u-list\u tmpl\u-pre='some-odd
';
$(映射列表\u tmpl\u pre).过滤器('.single\u映射列表')。每个(函数(索引,currentLink){
警报(currentLink.outerHTML.replace(/(父id)[0-9][a-z][a-z]/,“父id\u newID”);
});
将[0-9][a-z][a-z]
更改为[0-9a-zA-z]+
[0-9][a-z][a-z]
表示一个数字后接一个小写字母后接一个大写字母,例如,这将匹配:
5aA
但这不会:
5Aa
因此,使用当前示例,它将匹配parent\u id\u 3aX
字符串中的parent\u id\u 3aX
,并将其替换为parent\u id\u newIDw
使用[0-9a-zA-Z]+
意味着一个或多个模式将匹配(由+
表示)。它可以是0-9、a-Z和a-Z范围内的任何字符,顺序无关紧要
或者,不必同时指定小写和大写范围,只需添加i
标志,使其不区分大小写:
替换(/(父id)[0-9A-Z]+/i
此外,您不需要将parent\u id\u
括在括号中,除非您希望稍后使用反向引用来引用它。这也应该可以:
replace(/parent\u id\u[0-9A-Z]+/i
像魅力一样出色的工作:)谢谢邓肯