Using re module better
Bruno Desthuilliers
bruno.42.desthuilliers at wtf.websiteburo.oops.com
Wed Mar 5 07:12:51 EST 2008
Mike a écrit :
> I seem to fall into this trap (maybe my Perl background) where I want
> to simultaneously test a regular expression and then extract its match
> groups in the same action.
> For instance:
>
> if (match = re.search('(\w+)\s*(\w+)', foo)):
> field1 = match.group(1)
> field2 = match.group(2)
> ...
>
> (compare to Perl:)
>
> if($foo =~ /(\w+)\s*(\w+)/) {
> $field1 = $1;
> $field2 = $2;
> ...
> }
>
> Problem is, my python is invalid above. What's the pythonic way to do
> this?
In your above use case, the solution is obvious:
match = re.search('(\w+)\s*(\w+)', foo)
if match:
field1 = match.group(1)
field2 = match.group(2)
wrt/ assignement as an expression, this has been discussed about 2 days
ago - look for a thread (badly) named "Is it possible to return a
variable and use it...?"
HTH
More information about the Python-list
mailing list