Регулярные выражения
Добрый день. помогите с регулярными выражениями
есть строка вида where[0][1][value], количество квадратных скобочек может меняться в зависимости от ситуации, то есть может быть и where[0][value] и where[0], как с помощью регулярного выражения получить "where" (тоже может меняться) и содержимое квадратных скобок. Пробовал /(\w+)(?:\[(\w+)\])+/g.exec("where[0][1][value]")получаю where и последний элемент, /(\w+)(?:\[(\w+)\])?/g.exec("where[0][1][value]")на выходе where и 0 |
var str = "where[0][1][value][42][100500]"; var re = /(\[)?([^\[\]]+)\1?/g; var result = []; var m; while (m = re.exec(str) ) { result.push(m[2]); } alert(result); |
vivalaakam,
Вариант ... var str = "where[0][1][value][42][100500]"; alert(str.split(/\]\[?|\[/)) |
рони,
var str = "where[0][1][value][42][100500]"; alert(str.split(/[\[\]]+/)) |
Aetae,
:yes: |
не удержался :-)
var str = "where[0][1][value][42][100500]"; alert(str.match(/\w+/g)); |
Maxmaxmaximus,
Ну тут любой из приведенных примеров не проверяет входные данные, допущено, что она 100% правильная |
Часовой пояс GMT +3, время: 02:07. |