Я пытаюсь создать регулярное выражение, которое легко заменит входное имя, такое как «отверстия [0] [снимки] [0] [единица]» на «отверстия [0] [снимки] 1 [единица ]». Я в основном клонирую вход HTML и хотел бы убедиться, что его позиция увеличивается.Javascript regex grouping
Я получил мое регулярное выражение построен и работает правильно с помощью этого (удивительный) инструмент: http://gskinner.com/RegExr/
Вот мой текущий регулярное выражение:
(.*\[shots\]\[)([0-9]+)(\].*\])
и я использую заменить такие как:
$12$3
это преобразует «отверстия [0] [выстрелы] [0] [единица]« в »отверстия [0] [выстрелы] [2] [единица]». Это именно то, чего я хочу. Однако, когда я пытаюсь это в JavaScript (http://jsfiddle.net/PH2Rh/):
var str = "holes[0][shots][0][units]";
var reg =new RegExp("(.*\[shots\]\[)([0-9]+)(\].*\])", "g");
console.log(str.replace(reg,'$1'));
я получаю следующий вывод: отверстия [0
Я не понимаю, как моя первая группа должна представлять «дыру [0» , так как я включил целые [выстрелы] [часть в нем.
Я ценю любые входы на этом. Спасибо.