Регулярное выражение для удаления текста вне тегов в строке - PullRequest
0 голосов
/ 02 января 2012

Вот моя строка. Который будет содержать строку XML
Как ниже

 var str= "<str>rvrv</str>rvrv<q1>vrvv</q1>vrvrv<q2>rtvrvr</q2>";

Как я могу удалить текст вне тегов (текст, который не принадлежит ни одному тегу), используя регулярное выражение. Пожалуйста, помогите мне в этом.

1 Ответ

3 голосов
/ 02 января 2012

Если ваша проблема заключается в удалении только текста, не заключенного в элемент (а оставшийся код правильно сформирован, поэтому у вас нет таких строк, как

var str= "<str>lorem <b>ipsum</str>";

), вы можете использовать регулярное выражение, подобное этому

var str= "<str>rvrv</str>rvrv<q1>vrvv</q1>vrvrv<q2>rtvrvr</q2>",
    elements = str.match(/<(.+?)>[^<]+<\/\1>/gi);

console.log(elements.join(''));

и это возвращает

<str>rvrv</str><q1>vrvv</q1><q2>rtvrvr</q2>

Примечание: для обнаружения закрывающих тегов я использовал обратную ссылку (см. http://www.regular -expressions.info / brackets.html )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...