Убрать все атрибуты из HTML и вернуть имя тега только с помощью регулярных выражений - PullRequest
0 голосов
/ 15 марта 2011

Как следует из названия, как я могу достичь следующего в ruby, используя regex или какую-либо другую магию ruby?

Input

<a href="#" class="css-class">Link</a>
<img src="image.jpg" />

Желаемый выход

a
img

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 15 марта 2011

Я не знаю, как сопоставление регулярных выражений обрабатывается в ruby, но я уверен, что вы можете извлечь групп из регулярных выражений.

Для вашего случая регулярное выражение:

<([^\s]*).*(</.*>|/>)

должны сделать свое дело.

После использования его на вашей входной строке будут только имена тегов в группе # 1 для каждого совпадения.

0 голосов
/ 15 марта 2011

Я согласен с Томалаком, но если вы все еще хотите использовать подход регулярных выражений, вы можете использовать что-то вроде следующего:

\<(?<tag>[^ ]+)[^\>/]*(\>[^\<]*</\k<tag>\>|/\>)

Я протестировал его только с движком регулярных выражений C #, я надеюсь, что этоработает и для ruby.

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