如何在Perl中将XML标记和属性与正则表达式匹配?

Mik*_*sen -4 regex xml perl

我需要的是这样的:

/<[\w\d]+ ([\w\d]+\=[w\d])+\/>/
Run Code Online (Sandbox Code Playgroud)

可以匹配多个属性键/值对的东西.那可能吗?

Bri*_*new 10

使用XML解析器可以获得更多成功,例如,XML :: Parser.使用正则表达式解析XML非常困难(不可能?),除非您的用例很简单,否则正确的XML解析器是可靠的解决方案.

  • 没有问号就不可能.XML不是常规语言.当然,"正则表达式"的某些实现实际上与非常规语言匹配,但这是另一回事. (4认同)

too*_*lic 6

有限范围的有效XML可能是有可能的.如果您尝试解析XML,我强烈建议您使用解析器,而不是尝试使用正则表达式.XML :: Twig是CPAN提供的一个很好的通用解析器.

有关进一步阅读,另请参阅:XML解析与正则表达式