Regular Expressions?
Diez B. Roggisch
deets_noospaam at web.de
Wed Feb 25 05:18:05 EST 2004
> I want to use a regular expression like the following:
>
> "*[\s|\w]*" + x +"[\s|\w]*\" + y + "*[\s|\w]*\" + y + "*[\s|\w]*"
>
> where x and y and varaiblae names and their value changes everytime.
> For some reason this gives me an Invalid Token error. Can I use
> variables in a regular Expression?
Sure. But what you wrote above is most probably syntactically wrong:
"*[\s|\w]*" + x +"[\s|\w]*\" + y + "*[\s|\w]*\" + y + "*[\s|\w]*"
^^
You escape the d'qoutes, so that not the variable is inserted but instead
the text " + y + ". Then a [ starts, which denotes the beginning of a list
- a thing not supported right here. The same problem arises before the
second y.
This works for me:
"*[\s|\w]*" + x +"[\s|\w]*" + y + "*[\s|\w]*" + y + "*[\s|\w]*"
However, I suggest you use the %-operator in such cases:
"*[\s|\w]*%s[\s|\w]*%s*[\s|\w]*%s*[\s|\w]*" % (x, y, y)
--
Regards,
Diez B. Roggisch
More information about the Python-list
mailing list