re - multiple results

Fredrik Lundh fredrik at pythonware.com
Mon Jun 13 05:34:01 EDT 2005


Pingveno wrote:

> I'm working on the Python Challenge (make sure to try it:
> http://www.pythonchallenge.com). One of the puzzles requires the use of
> regular expressions, but with multiple matches in the text. I tried to
> use re.findall(), but I only go one result instead of a list of results.
>
>>>> print re.findall(r"myexpression",text)
> ['AZBaCTR']
>
> There should, of course, be several matches.

"myexpression" won't return "AZBaCTR" for any kind of input, so I'm not
sure what "of course" really refers to...

> What function should I use? Or is it not a function issue?

my guess is that you're using "*" or "+" in a situation where you don't really
need them.  cf.

    >>> re.findall("\w", "abcdef")
    ['a', 'b', 'c', 'd', 'e', 'f']
    >>> re.findall("\w+", "abcdef")
    ['abcdef']

</F> 






More information about the Python-list mailing list