下面是我的代码:
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
最佳答案
\b
是退格字符,会导致您的管道被删除(就像按退格键一样)。您需要绕过退格键。
您可以通过将\bwow
替换为\\bwow
来绕过它。
#output
omg|\bwow
关于python - 正则表达式从列表构建行为异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53138101/