• # Le plus simple est de...

    Posté par . En réponse au message Captures dans une regexp. Évalué à 4.

    ... changer de méthode.

    Les regexp, c'est bien, sauf quand ça marche pas... Et en l'occurrence, il est préférable d'utiliser un vrai parser.

    Extrait de perldoc :


    How do I find matching/nesting anything?

    This isn’t something that can be done in one regular expression, no matter how complicated. To find something between two single characters, a pattern like "/x([^x]*)x/" will get the intervening bits in 1ドル. For multiple ones, then something more like "/alpha(.*?)omega/" would be needed. But none of these deals with nested patterns. For balanced expressions using "(", "{", "[" or "<" as delimiters, use the CPAN module Regexp::Common, or see "(??{ code })" in perlre. For other cases, you’ll have to write a parser.