Как сопоставить теги и атрибуты XML с регулярным выражением в Perl? - PullRequest
0 голосов
/ 11 марта 2010

Мне нужно что-то вроде этого:

/<[\w\d]+ ([\w\d]+\=[w\d])+\/>/

То, что будет соответствовать нескольким парам ключ / значение атрибута. Это возможно?

Ответы [ 2 ]

10 голосов
/ 11 марта 2010

У вас будет гораздо больше успехов, если использовать XML-парсер, например, XML :: Parser . Синтаксический анализ XML с использованием регулярных выражений очень труден (невозможно?), И если ваш вариант использования не является тривиальным, правильный анализатор XML является надежным решением.

6 голосов
/ 11 марта 2010

Это может быть возможно для очень ограниченного диапазона допустимого XML. Если вы пытаетесь анализировать XML, я настоятельно рекомендую вам использовать синтаксический анализатор, а не пытаться использовать регулярные выражения. XML :: Twig - хороший синтаксический анализатор общего назначения, доступный на CPAN.

Подробнее см. Также: Синтаксический анализ XML и регулярные выражения

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