Показать сообщение отдельно
  #5 (permalink)  
Старый 20.06.2019, 09:49
Новичок на форуме
Отправить личное сообщение для Tachyon Посмотреть профиль Найти все сообщения от Tachyon
 
Регистрация: 19.06.2019
Сообщений: 8

Большое спасибо! Немного усложнил последний вариант (на случай отсутствия параметров в теге) и погонял его с разными комбинациями, которые смог придумать, вроде бы везде сработал корректно:
var string = `aaaa< tag1 name1=">><<" name2= "val'2"name3 = 'val><"3' name4 ='' >bbbb`;
string = string.replace(/<\s*tag1(\s+(?:"[^"]*"|'[^']*'|[^>"'])*)?>/gi, function(a,b) {
		alert(b);
		return '';
	}
);
alert(string);


Задам еще один вопрос. Я правильно понимаю, что в регулярных выражениях JS отсутствует опережающая проверка, и из-за этого обработку тегов типа
<tag1 name='value'>string'"test<>continue</tag1>
с выбором строки не до символа, а до слова /<\s*\/\s*tag1\s*>/ регулярным выражением не сделать?

Последний раз редактировалось Tachyon, 20.06.2019 в 10:47.
Ответить с цитированием