Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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 RegExp查找并替换空方括号_Javascript_Regex_Replace - Fatal编程技术网

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中转义。。。请参阅以上我的解决方案非常感谢您的帮助,这会在全球范围内找到并替换为字符串吗?如果您接受他的答案,为什么要问?^^但它会的!