By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
443,660 Members | 1,102 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 443,660 IT Pros & Developers. It's quick & easy.

re - multiple results

P: n/a
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. What function should I use?
Or is it not a function issue?

Thanks,
Pingveno
Jul 19 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a
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']

Or is it not a function issue?


Works for me. Although I usually prefer this idiom:

re_something = re.compile(r"pattern")
re_something.findall(text)

You're doing something else wrong.
--
Michael Hoffman
Jul 19 '05 #2

P: n/a
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>

Jul 19 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.