/ / Регулярний вираз для отримання рядка та числа між квадратними дужками - javascript - javascript, regex

Регулярний вираз, щоб отримати рядок і число між квадратними дужками - javascript - javascript, regex

Мені потрібно отримати число (1) і рядок(start) з цього рядка, щоб я міг збільшити номер, нижче наведений регулярний вираз працює, але все ще є [] навколо виводу - хто-небудь має регулярний вираз, який також видалить [] "s?

var $name = "event[1][start]";
var parts = $name.match(/[(.*?)]/g);
console.log(parts[0] + " - " + parts[1]);
// I wish to do something like this eventually...
// var $newName = "event[" + ++parts[0] + "][" + parts[1] + "]";

Велике дякую

Відповіді:

0 для відповіді № 1

Якщо рядок завжди у форматі something[part0][part1], використовуй це:

var parts = $name.match(/.*?[(.*?)][(.*?)]/);
console.log(parts[1] + " - " + parts[2]);

Коли ви використовуєте global прапорце, ви просто отримаєте масив збігівцілий регулярний вираз, а не групи захоплення. Але у вашому випадку вам, здається, не потрібен глобальний характер, ви просто хочете захопити два конкретні елементи, тому використовуйте дві групи захоплення.

Зауважте, що нумерація груп захоплення починається з 1 - parts[0] - це відповідність за весь регеп.


0 для відповіді № 2

просто так роблять.

var $name = "event[1][start]";
var parts = $name.match(/w+/g);
console.log(parts[1] + " - " + parts[2]);

0 для відповіді № 3

Це можна зробити для вилучення груп захоплення:

var $name = "event[1][start]";
var pattern=new RegExp("\[(.*?)\]","g");
var parts = pattern.exec($name);
while (parts!=null) {
console.log(parts[1]);
parts = pattern.exec($name);
}