Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.02.2012, 13:06
Интересующийся
Отправить личное сообщение для vivalaakam Посмотреть профиль Найти все сообщения от vivalaakam
 
Регистрация: 07.02.2012
Сообщений: 14

Регулярные выражения
Добрый день. помогите с регулярными выражениями

есть строка вида 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
Ответить с цитированием
  #2 (permalink)  
Старый 07.02.2012, 13:27
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

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);
__________________
readOnly

Последний раз редактировалось poorking, 08.02.2012 в 09:41.
Ответить с цитированием
  #3 (permalink)  
Старый 07.02.2012, 14:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

vivalaakam,
Вариант ...
var str = "where[0][1][value][42][100500]";
alert(str.split(/\]\[?|\[/))
Ответить с цитированием
  #4 (permalink)  
Старый 07.02.2012, 17:47
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,480

рони,
var str = "where[0][1][value][42][100500]";
alert(str.split(/[\[\]]+/))
__________________
29375, 35
Ответить с цитированием
  #5 (permalink)  
Старый 07.02.2012, 22:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Aetae,
Ответить с цитированием
  #6 (permalink)  
Старый 07.02.2012, 22:30
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

не удержался :-)

var str = "where[0][1][value][42][100500]";
alert(str.match(/\w+/g));
Ответить с цитированием
  #7 (permalink)  
Старый 08.02.2012, 09:41
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

Maxmaxmaximus,
Ну тут любой из приведенных примеров не проверяет входные данные, допущено, что она 100% правильная
__________________
readOnly
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регулярные выражения для проверки формы MichaelPak Элементы интерфейса 0 18.10.2011 19:23
JS и регулярные выражения. LRCenter Общие вопросы Javascript 5 03.05.2011 16:53
нежадные регулярные выражения KOLANICH Общие вопросы Javascript 2 12.12.2010 01:08
Регулярные выражения в JS igsavenko Общие вопросы Javascript 2 18.05.2010 21:33
Функции поиска и замены строк или регулярные выражения? Armen Общие вопросы Javascript 1 01.01.2010 12:35