On Apr 11, 7:41 pm, liupeng <[EMAIL PROTECTED]> wrote: > pattern = re.compile(r'\w+\s*=\s*[0-9]*.[0-9]*\s*') > lists = pattern.findall(s) > print lists > ['a=4 ', 'b=3.4 ', 'c=4.5'] > > On Wed, Apr 11, 2007 at 06:10:07PM -0700, Qilong Ren wrote: > > Hi, everyone, > > > I am extracting some information from a given string using python RE. The > > string is ,for example, > > s = 'a = 4 b =3.4 5.4 c = 4.5' > > What I want is : > > a = 4 > > b = 3.4 5.4 > > c = 4.5 > > Right now I use : > > pattern = re.compile(r'\w+\s*=\s*.*?\s+') > > lists = pattern.findall(s) > > It works for the string like 'a = 4 b = 3.4 c = 4.5', but does not work with > > strings like 'a=4 b=3.4 5.4 c = 4.5' > > > Any suggestion? > > > Thanks,Qilong > > > ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ > > ━━━━ > > Don't get soaked. Take a quick peak at the forecast > > with theYahoo! Search weather shortcut. > > -- > >http://mail.python.org/mailman/listinfo/python-list > > signature.asc > 1KDownload
Try this: import re s = 'a = 4 b =3.4 5.4 c = 4.5' r = re.compile("[a-z]+.*?(?=[a-z]|$)" ) l = r.findall(s) print l -- http://mail.python.org/mailman/listinfo/python-list