下面是我的代码:
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 。这仅在访问 self 时发生在类内部。
我尝试直接加入课外事件,但我不明白为什么这不起作用。有人可以帮助我理解这一点吗?
编辑:
regex_list = ['omg', r'\bwow']
print('|'.join(regex_list)) # Works outside the class
请您参考如下方法:
\b 是导致您的管道被删除的退格字符(就像您按退格键时一样)。您需要绕过退格键。
您可以通过将 \bwow 替换为 \\bwow 来绕过它。
#output
omg|\bwow
