Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.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_Jquery_Regex - Fatal编程技术网

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

像魅力一样出色的工作:)谢谢邓肯