On Wed, 27 Apr 2005, Tom Tucker wrote:
> Hello all! I am trying to pass a variable to my re.compile string (see > broken example below). Is something like this possible? Thanks! > > regexstring = 'H\sb' > textstring = 'BLAH blah' > match = re.compile((%s) % (regexstring)) # ? Hi Tom, Ah, I think I see what you're trying to do. I think you were trying to do: match = re.compile("%s" % (regexstring)) which uses string formatting to pull the 'regexstring' in, and then passes the result off to re.compile(). But it might be better to just directly compile the regex string, without the intermediate string formatting: match = re.compile(regexstring) Does that make sense? One other note: your regex string definition: > regexstring = 'H\sb' might need a slight adjustment, since you want to maintain that backslash in the string literal. Try: regexstring = r'H\sb' The leading "r' in front of the string literal tells Python not to treat internal backslashes as the escape character. This "raw mode" is especially useful for regular expressions, which use literal backslashes heavily as metacharacters. If you have more questions, please feel free to ask. Good luck! _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor