Редактировать: Для ясности, пожалуйста, поймите, что я не использую Regex для разбора HTML, это сумасшедший разговор! Я просто хочу очистить грязную строку html, чтобы она анализировалась
Редактировать # 2: Я должен также указать, что используемый мной управляющий символ - это специальный символ Юникода - это не то, что когда-либо использовалось бы в правильном теге при любых нормальных обстоятельствах
Предположим, у меня есть строка html, содержащая набор управляющих символов, и я хочу удалить управляющие символы только из внутренних тегов, оставив только символы вне тегов.
Например
Здесь управляющим символом является цифра «1».
Input
The quick 1<strong>orange</strong> lemming <sp11a1n 1class1='jumpe111r'11>jumps over</span> 1the idle 1frog
Желаемый выход
The quick 1<strong>orange</strong> lemming <span class='jumper'>jumps over</span> 1the idle 1frog
Пока что я могу сопоставлять теги, которые содержат управляющий символ, но я не могу удалить их в одном регулярном выражении. Думаю, я мог бы выполнить еще одно регулярное выражение в своих матчах, но мне бы очень хотелось узнать, есть ли лучший способ.
Мое регулярное выражение
Имейте в виду, что это соответствует только тегам, которые содержат управляющий символ.
<(([^>])*?`([^>])*?)*?>
Большое спасибо за ваше время и внимание.
Иэн Фрейзер