Python's regular expression?
sjmachin at lexicon.net
Mon May 8 14:58:59 CEST 2006
On 8/05/2006 10:31 PM, Mirco Wahab wrote:
> Lets see - a really simple find/match
> would look like this in Python:
> import re
> t = 'blue socks and red shoes'
> p = re.compile('(blue|white|red)')
> if p.match(t):
What do you expect when t == "green socks and red shoes"? Is it possible
that you mean to use search() rather than match()?
> print t
> which prints the text 't' because of
> the positive pattern match.
> In Perl, you write:
> use Acme::Pythonic;
> $t = 'blue socks and red shoes'
> if ($t =~ /(blue|white|red)/):
> print $t
> which is one line shorter (no need
> to compile the regular expression
> in advance).
There is no need to compile the regex in advance in Python, either.
Please consider the module-level function search() ...
if re.search(r"blue|white|red", t):
# also, no need for () in the regex.
More information about the Python-list