http://qs1969.pair.com?node_id=1061221


in reply to Parsing and translating Perl Regexes

See ppi_dumper or Re: ppiwx / wxPPI / wxppixregexp xPPIx_Regexp_linecol_onize / PPIx::Regexp::Element::column_number or Re: Wanted: Perl Regex Pretty Printer (almost, rxrx, rxplain)

PPIx::Regexp is pretty good although I've had to enhance it to do proper regexp modifiers propagation ... I've got code (PPIx::Regexp::xplain), still in need of some refactoring ... you can see sample output above at rxplain link

Regexp::Debugger parses the regex, modifies the regex (adds callbacks), and then runs the modified regex, needs to run it so it can explain the regex -- Re^2: Wanted: Perl Regex Pretty Printer (rxrx bug) -- translating to another regex language would require the amount of context/knowledge as explaining -- thats if you want to adapt it (though patching the module)

So I would go with PPIx::Regexp because it doesn't require running the regex in the perl regex engine, does a pretty good job, and is designed for this kind of task

All other solutions (Regexp::Debugger) are too much work -- sure the tokenizer is good, but there is too much context to keep track off .... basically you end up starting from scratch and learning waaaaaaay too much about regexes ... PPIx::Dumper embodies a lot of that knowledge