Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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, ''));
Ответить с цитированием
  #2 (permalink)  
Старый 25.04.2015, 19:27
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

\ -> \\

P.S. Это не магия, в этом есть явный смысл, поняв его вы на шажок приблизитесь к принципиальному пониманию того что делаете.
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 25.04.2015, 19:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

izcian,
var val = '(<div data-street-id="'+id+'">)(\\d*\\D*\\s*\\S*\\w*)?(<\/div>)';
Ответить с цитированием
  #4 (permalink)  
Старый 25.04.2015, 19:45
Аспирант
Отправить личное сообщение для izcian Посмотреть профиль Найти все сообщения от izcian
 
Регистрация: 17.08.2012
Сообщений: 53

Сообщение от рони Посмотреть сообщение
izcian,
var val = '(<div data-street-id="'+id+'">)(\\d*\\D*\\s*\\S*\\w*)?(<\/div>)';
Спасибо! Блин...вот я балбес)))
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
почему один вызов load работает, а другой - нет kravru jQuery 1 16.09.2013 20:51
поиск классов внутри тега yozuul jQuery 24 14.06.2013 22:00
jquery - не работает клик по кнопке выбора варианта bartonom jQuery 0 04.10.2012 13:35
$('#id') не работает для некоторых элементов tmvrus jQuery 10 12.10.2010 15:45
не получается вложить один эффект в другой svip Библиотеки/Тулкиты/Фреймворки 1 30.03.2008 11:07