Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
I have two regular expressions (thanks to you guys explaining in great detail how this all works) that to my mind are logical equivalent (well excluding one case, but I think I want the extra case anyway).
The expression I would like is:
What I think it does is:/.*(\[*\w*\@*\-*\w*[$ #\%>~]\]|\\\[\\e\[0m\\\] \[0m)\s?/
- match as much as possible
possibly match [
possibly match some word characters
possibly match some @
possibly match some -
possibly match some word characters
match either $ ' ' # % > or ~
possibly match ]
or it matches weird escape sequence.
and maybe a whitespace
/.*([$ #\%>~]|\[*\w*\@*\-*\w*\%\]*|\[*\w*\@*\-*\w*#\]*|\[*\w*\@*\-*\w* +\$\]*|\[*\w*\@*\-*\w*>\]*|\\\[\\e\[0m\\\] \[0m)\s?/
Tomorrow I will probably convert most (if not all) of the * to ? because somewhere I heard greedyness is the root of all evil.
Thanks for your patients
Jack
Back to
Seekers of Perl Wisdom