Javascript RegExp查找并替换空方括号
我有一个字符串,其中包含类似于Javascript RegExp查找并替换空方括号,javascript,regex,replace,Javascript,Regex,Replace,我有一个字符串,其中包含类似于name=“text_field_1[]”的内容,我需要找到并替换'1[]”部分,以便可以像这样递增'2[]”,'3[]”,等等 代码: $search = new RegExp('1[]', 'g'); $replace = $number + '[]'; $html = $html.replace($search, $replace) 您可以在regexp中使用\d,这意味着在[]之前只使用了U个数字。 您还需要转义[],因为它在regexp中是特殊字符 $s
name=“text_field_1[]”
的内容,我需要找到并替换'1[]”
部分,以便可以像这样递增'2[]”
,'3[]”
,等等
代码:
$search = new RegExp('1[]', 'g');
$replace = $number + '[]';
$html = $html.replace($search, $replace)
您可以在regexp中使用
\d
,这意味着在[]
之前只使用了U个数字。
您还需要转义[]
,因为它在regexp中是特殊字符
$search = new RegExp('\\d+\\[\\]', 'g');
$replace = $number + '[]';
$html = $html.replace($search, $replace)
代码:大括号必须在regexps中转义
var yourString="text-field_1[]";
var match=yourString.match(/(\d+)\[\]/);
yourString=yourString.replace(match[0], parseInt(match[1]++)+"[]");
这里有一些有趣的事情。您可以将函数传递到
字符串。替换
var re = /(\d+)(\[\])/g/;
html = html.replace(re, function(fullMatch, value, braces) {
return (parseInt(value, 10)+1) + braces;
}
现在,您可以替换字符串中#[]的多个实例。您可以使用回调
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+'[]';
});
注意:
$search = new RegExp('1[]', 'g');
$replace = $number + '[]';
$html = $html.replace($search, $replace)
- 转义括号,因为它们在正则表达式中是特殊的
- 确保在
$html
中只有您需要替换的模式,否则它将替换所有1[]
您可以在javascript中使用explode并在数组中获取一个值,您可以替换特定的数组。您希望新替换的数字按顺序增加吗?(另外,在提问时,最好提供一个前后文本的代表性示例。)您好,谢谢您的回答。问题是,替换似乎不起作用。这个数字很好,我只是不知道在这样的字符串中添加括号是否会被正确找到,因为它的非工作括号必须在regexps中转义。。。请参阅以上我的解决方案非常感谢您的帮助,这会在全球范围内找到并替换为字符串吗?如果您接受他的答案,为什么要问?^^但它会的!