Regex для минимизации повторяющихся тегов <p></p> до одного тега <p></p> - PullRequest
0 голосов
/ 17 ноября 2009

Через код я получил выходной контент в виде XML. У меня есть пара или несколько тегов XML следующим образом:

<p>December10</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p> Welcome to this space </p>
<p>
</p>
<p>
</p>
<p>Hai, Today is Tuesday</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>This a xml tag</p>

Я хочу регулярное выражение, как указано ниже:

Как упомянуто выше, я хочу только одну ПУСТУЮ пару тегов как <p></p>. Я не хочу повторять ПУСТОЙ неопределенный или определенный тег пары.

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

Ответы [ 3 ]

2 голосов
/ 17 ноября 2009

О Боже, пожалуйста, не позволяй Бобинсу видеть, что ты задаешь этот вопрос.

См .: RegEx соответствует открытым тэгам, кроме автономных тэгов XHTML или Синтаксический анализ HTML The Cthulhu Way

2 голосов
/ 17 ноября 2009
 s/(<p><\/p>)+/<p><\/p>/g;

это работает для меня (имеется в виду == я проверял это с вашим tagoup) .. это синтаксис perl / sed, s /// g означает 's' replace и 'g' global

1 голос
/ 17 ноября 2009

Если это .NET, вы можете попробовать что-то вроде этого:

Regex.Replace(content, "(<p>\s*</p>\s*?)+","<p></p>")

Или еще лучше

Regex.Replace(content, "(<p>\s*</p>\s*?)+","<p/>")

(отредактировано, чтобы добавить предложение Гамбо)

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