下面是我的代码:
import re
class Example:
def __init__(self):
self.regex_list = ['omg', '\bwow']
def print_regex(self):
print('|'.join(self.regex_list))
e = Example()
e.print_regex()
输出:
omgwow
预期输出:
omg|\bwow
因此,我有一个要使用OR运算符加入的正则表达式列表。我这样做是希望输出是OR连接的字符串。
令我惊讶的是,它没有加入,并且也删除了\ b。这仅在访问自我时在班级内部发生。
我尝试直接在有效的课堂之外加入,但我不明白为什么这不起作用。有人可以帮助我理解这一点吗?
编辑:
regex_list = ['omg', r'\bwow']
print('|'.join(regex_list)) # Works outside the class
答案 0 :(得分:2)
\b
是退格字符,导致删除管道(就像按退格键一样)。您需要绕过退格键。
您可以通过将\bwow
替换为\\bwow
来绕开它。
#output
omg|\bwow