Показать сообщение отдельно
  #1 (permalink)  
Старый 25.04.2015, 18:39
Аспирант
Отправить личное сообщение для izcian Посмотреть профиль Найти все сообщения от izcian
 
Регистрация: 17.08.2012
Сообщений: 53

Два варианта паттерна для регулярки. Один работает, другой нет
Здравствуйте.
Нужно вырезать из строки div с определенным data-street-id. В первом варианте, работает. Во втором, почему-то нет. Не могу понять почему?
var string = '<div data-street-id="1">1-я Абельмановская Застава, площадь<span title="Удалить улицу из поиска" onclick="drop_Street(1)">Х</span></div><div data-street-id="5">Таганрогская улица <span title="Удалить улицу из поиска" onclick="drop_Street(5)">Х</span></div>';
// Превый вариант - работает
	pattern = /(<div data-street-id="5">)(\d*\D*\s*\S*\w*)?(<\/div>)/gi;
	
	alert(string.replace(pattern, ''));

// Второй вариант -  не работает
	var id = 5;
	
	var val = '(<div data-street-id="'+id+'">)(\d*\D*\s*\S*\w*)?(<\/div>)';
	
	var pattern = new RegExp(val, "gi");
	
	alert(string.replace(pattern, ''));
Ответить с цитированием