Regular expression issue

Peter Otten __peter__ at web.de
Thu Feb 25 03:10:51 EST 2010


Ashok Prabhu wrote:

> The following is a sample of my problem. I get input from user and
> store it in variable 'b'. I want to match the user input with the
> contents of another variable 'a'. However I m not able to get the
> exact match. Could someone help?
> 
>>>> print a
> c
> c+
> 
>>>> b
> 'c+'
>>>> re.search(b,a).group()
> 'c'
> 
> In the above example I want re to find the string 'c+' instead of 'c'.
> I want a solution without escaping the '+' symbol with backslash
> because it is given by the user.

>>> a = "yadda c+ yadda"
>>> b = "c+"
>>> re.search(re.escape(b), a).group()
'c+'

But if you aren't interested in anything but string literals, you should use 
string search:

>>> a.index(b)
6

Peter



More information about the Python-list mailing list