Удаление всего между тегом (включая сам тег) с помощью Regex / Eclipse - PullRequest
0 голосов
/ 30 марта 2010

Я довольно новичок в выяснении того, как работает Regex, но это просто расстраивает.

У меня огромный XML-документ с большим количеством тегов <<code>description>blahblahblah</description>. Я хочу в основном удалить все экземпляры <description></description>.

Я использую Eclipse и попробовал несколько примеров Regex, которые я нашел в Интернете, но ничего не работает.

<description>(.*?)</description>

Разве это не должно работать?

EDIT:

Вот фактический код.

<description><![CDATA[<center><table><tr><th colspan='2' align='center'><em>Attributes</em></th></tr><tr bgcolor="#E3E3F3"><th>ID</th><td>308</td></tr></table></center>]]></description>

1 Ответ

2 голосов
/ 30 марта 2010

Я не знаком с Eclipse, но я ожидаю, что его средство поиска регулярных выражений будет использовать встроенный в Java вариант регулярных выражений. Возможно, вам просто нужно установить флажок «DOTALL» или «однострочный» или что-то подобное, или вы можете добавить соответствующий встроенный модификатор в регулярное выражение:

(?s)<description>(.*?)</description>

Это позволит . соответствовать символам новой строки, чего по умолчанию нет.

РЕДАКТИРОВАТЬ: Предполагается, что являются символами новой строки в элементе <description>, и это единственная причина, по которой я могу понять, почему ваше регулярное выражение не будет работать Я также предполагаю, что вы действительно выполняете поиск регулярных выражений; Это автомат в Eclipse, или вам нужно выбирать между регулярным выражением и буквальным поиском?

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