2016-02-15 23 views
1

Я действительно борюсь за изучение регулярных выражений. Я пытаюсь найти все теги span и удалять любые идентификаторы или классы или любую другую информацию и удалять их из строки ... и терпеть неудачу.javascript заменить на regex wilcard

var str = '<span class="red" id="num1">foo</span>words<span class="blue">bar</span>'; 
//What I want to end up with '<span>foo</span>words<span>bar</span>'; 
str = str.replace(/<span+([*])+\>/g, ''); 
console.log(str); 
+0

Пожалуйста, измените свой вопрос и добавить соответствующую информацию обратно в ... – brso05

+0

Я редактировал вопрос –

ответ

3

Regex - это весело. В последнее время я играл с ним сам. Вы хотите выбрать начало тега span и захватить все, что существует до конца тега. JSFiddle

var str = '<span class="red" id="num1">foo</span>words<span class="blue">bar</span>'; 
str = str.replace(/<span.+?\>/g, '<span>'); 
console.log(str); 

Объяснение:. +? захватывает любой символ (.) столько раз, сколько требуется (+?), пока не достигнет конца тега (>). Без вопросительного знака + возьмет все, не останавливаясь (жадный). Не забывайте, что вы заменяете, чтобы вернуть тег!

+0

Ого, я был далеко .... возможно когда-нибудь я буду понимать регулярные –

+0

Ха-ха никаких забот, и некоторые полезные ссылки help: [Regex Tester] (https://regex101.com/), который вы можете использовать для проверки своего регулярного выражения, чтобы убедиться, что они соответствуют вашим потребностям. [Regex Info] (http://www.regular-expressions.info/) У этого есть все, что вам нужно, и больше из регулярных выражений. Я провел здесь много времени и многому научился. –

Смежные вопросы