["python","regex","word-boundaries"]
Do regular expressions from the re module support word boundaries (\b)?

While trying to learn a little more about regular expressions, a tutorial suggested that you can use the \b to match a word boundary. However, the following snippet in the Python interpreter does not work as expected: >>> x = 'one two three' >>> y = re.search("\btwo\b", x) It should have been a match object if anything was matched, but it is None. Is the \b expression not supported in Python or am I using it wrong?
You should be using raw strings in your code >>> x = 'one two three' >>> y = re.search(r"\btwo\b", x) >>> y <_sre.SRE_Match object at 0x100418a58> >>> Also, why don't you try word = 'two' re.compile(r'\b%s\b' % word, re.I) Output: >>> word = 'two' >>> k = re.compile(r'\b%s\b' % word, re.I) >>> x = 'one two three' >>> y = k.search( x) >>> y <_sre.SRE_Match object at 0x100418850>