On Wed, Nov 16, 2005 at 03:09:56PM -0500, Shane wrote: > Hi folks, > > I'm new to regular expressions (and a novice at Python) but it seems to be > the tool I need for a particular problem. I have a bunch of strings that > looks like this: > > 'blahblah_sf1234-sf1238_blahblah' > > and I would like to use the re module to parse all the 'sfXXXX' parts of the > string. Each 'sfXXXX' needs to be its own string when I am through. How do I > compile a regular expression that looks for more than one instance? Currently > my expression looks like this: > > myString = re.compile('sf[0-9][0-9][0-9][0-9]') > > This works great for finding the first instance of 'sfXXXX'. I hope that was > clear :) > > Thanks, > > Shane > -- > http://mail.python.org/mailman/listinfo/python-list
You can simplify your pattern myString = re.compile('sf[0-9][0-9][0-9][0-9]') to myString = re.compile(r"sf\d{4}") >>> import re >>> s = 'blahblah_sf1234-sf1238_blahblah' >>> pat = re.compile(r"sf\d{4}") >>> re.findall(pat, s) ['sf1234', 'sf1238'] >>> for m in re.finditer(pat, s): ... print m.group() ... sf1234 sf1238 >>> Inyeol -- http://mail.python.org/mailman/listinfo/python-list