On Nov 25, 8:40 am, Jean-Michel Pichavant <jeanmic...@sequans.com> wrote: > Hy guys, > > I'm struggling matching patterns ending with a comma ',' or an end of > line '$'. > > import re > > ex1 = 'sumthin,' > ex2 = 'sumthin' > m1 = re.match('(?P<something>\S+),', ex1) > m2 = re.match('(?P<something>\S+)$', ex2) > m3 = re.match('(?P<something>\S+)[,$]', ex1) > m4 = re.match('(?P<something>\S+)[,$]', ex2) > > print m1, m2 > print m3 > print m4 > > <_sre.SRE_Match object at 0x8834de0> <_sre.SRE_Match object at 0x8834e20> > <_sre.SRE_Match object at 0x8834e60> > None > > My problem is that m4 is None while I'd like it to match ex2. > > Any clue ? > > JM
>From the Regular Expression Syntax documentation: Special characters are not active inside sets. For example, [akm$] will match any of the characters 'a', 'k', 'm', or '$'; so in m4, [,$] matches a comma or a literal dollar sign. -- http://mail.python.org/mailman/listinfo/python-list