In article <94ph22frh...@mid.individual.net>, Neil Cerutti <ne...@norwich.edu> wrote:
> On 2011-06-01, ru...@yahoo.com <ru...@yahoo.com> wrote: > > For some odd reason (perhaps because they are used a lot in > > Perl), this groups seems to have a great aversion to regular > > expressions. Too bad because this is a typical problem where > > their use is the best solution. > > Python's str methods, when they're sufficent, are usually more > efficient. I was all set to say, "prove it!" when I decided to try an experiment. Much to my surprise, for at least one common case, this is indeed correct. ------------------------------------------------- #!/usr/bin/env python import timeit text = '''Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris congue risus et purus lobortis facilisis. In nec quam dolor, non blandit tellus. Suspendisse tempus, sapien ac mattis volutpat, lectus elit auctor lacus, vitae accumsan nunc elit in ligula. Curabitur quis mauris neque. Etiam auctor eleifend arcu in egestas. Pellentesque non mauris sit amet nulla aliquam hendrerit pretium id arcu. Ut fringilla tempor lorem eget tincidunt. Duis nibh nisi, iaculis sed scelerisque in, facilisis quis dui. Aliquam varius diam in turpis auctor dapibus. Fusce aliquet erat vestibulum mauris volutpat id laoreet enim fermentum. Nam at justo nibh, ut vulputate dui. libero. Nunc ac risus justo, in sodales erat. ''' text = ' '.join(text.split()) t1 = timeit.Timer("'laoreet' in text", "text = '%s'" % text) t2 = timeit.Timer("pattern.search(text)", "import re; pattern = re.compile('laoreet'); text = '%s'" % text) print t1.timeit() print t2.timeit() ------------------------------------------------- ./contains.py 0.990975856781 1.91417002678 ------------------------------------------------- > Perl integrated regular expressions, while Python relegated them > to a library. The same way Python relegates most everything to a library :-) -- http://mail.python.org/mailman/listinfo/python-list