On Sat, 06 Dec 2008 14:15:28 -0500, Roy Smith wrote: > In article <[EMAIL PROTECTED]>, > Steven D'Aprano <[EMAIL PROTECTED]> wrote: > >> On Sat, 06 Dec 2008 08:50:20 -0500, Roy Smith wrote: >> >> > For your first >> > project, pick something that's small enough that you think you could >> > tackle it in under 50 lines of Perl. >> >> Is there anything which *can't* be written in under 50 lines of Perl? > [...] >> Also, Perl REs are faster than Python REs, or so I'm told. Between the >> speed and the convenience, Perl programmers tend to use RE's for >> everything they can. Python programmers tend to use REs only for >> problems that *should* be solved with REs rather than *can* be solved >> with a RE. > > Well, as an old-time unix hacker (who learned REs long before Perl > existed), my question to you would be, "Is there any problem which > *shouldn't* be solved with an RE?" :-)
I think you've answered your own question: > One of the reasons REs don't get used in Python as much as in Perl is > because strings have useful methods like startswith(), endswith(), and > split(), and also the "in" operator. These combine to give you easy > ways to do many things you might otherwise do with REs. Also: * splitting pathnames and file extensions * dealing with arbitrarily nested parentheses * any time you need a full-blown parser (e.g. parsing HTML or XML) * sanitizing untrusted user input ("I bet I can think of *every* bad input and detect them all with this regex!") * validating email addresses http://northernplanets.blogspot.com/2007/03/how-not-to-validate-email-addresses.html * testing prime numbers http://jtauber.com/blog/2007/03/18/python_primality_regex/ * doing maths http://blog.stevenlevithan.com/archives/algebra-with-regexes http://weblogs.asp.net/rosherove/archive/2004/11/08/253992.aspx There's probably more. -- Steven -- http://mail.python.org/mailman/listinfo/python-list