[英]Javascript RegExp find and replace empty square brackets
我有一个包含name="text_field_1[]"
类的字符串,我需要查找并替换'1[]'
部分,以便我可以像'2[]'
, '3[]'
等那样增加。
码:
$search = new RegExp('1[]', 'g');
$replace = $number + '[]';
$html = $html.replace($search, $replace)
您可以在正则表达式中使用\\d
表示在[]
之前使用的onlu数字。 你还需要转义[]
因为它是regexp中的特殊字符。
$search = new RegExp('\\d+\\[\\]', 'g');
$replace = $number + '[]';
$html = $html.replace($search, $replace)
代码: http : //jsfiddle.net/VJYkc/1/
您可以使用回调。
var $counter = 0;
$html = $html.replace(/1\[\]/g, function(){
++$counter;
return $counter+'[]';
});
如果您需要[]
前面有任何数字,您可以使用\\d
:
var $counter = 0;
$html = $html.replace(/\d\[\]/g, function(){
++$counter;
return $counter+'[]';
});
注意:
$html
中只有你需要替换的模式,否则它将替换所有1[]
。 必须在正则表达式中转义大括号...
var yourString="text-field_1[]";
var match=yourString.match(/(\d+)\[\]/);
yourString=yourString.replace(match[0], parseInt(match[1]++)+"[]");
这是有趣的事情。 您可以将函数传递给string.replace
。
var re = /(\d+)(\[\])/g/;
html = html.replace(re, function(fullMatch, value, braces) {
return (parseInt(value, 10)+1) + braces;
}
现在,您可以替换字符串中的多个#[]实例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.