【发布时间】:2015-05-21 20:23:31
【问题描述】:
来自this链接我使用了以下代码:
my_other_string = 'the_boat_has_sunk'
my_list = ['car', 'boat', 'truck']
my_list = re.compile(r'\b(?:%s)\b' % '|'.join(my_list))
if re.match(my_list, my_other_string):
print('yay')
但是它不起作用。我尝试在 re.compile 后打印 my_list 并打印:
re.compile('\\b(?:car|boot|truck)\\b')
我做错了什么?
【问题讨论】:
-
使用
re.search。 re.match:如果字符串开头的零个或多个字符与正则表达式模式匹配,则返回相应的MatchObject实例。如果字符串与模式不匹配,则返回 None;请注意,这与零长度匹配不同。 -
@stribizhev,它返回相同的结果。
-
那么请显示足够的代码来重现问题。
-
@stribizhev 抱歉,我添加了要匹配的字符串
-
@user3605780 如果正则表达式将字符串与搜索匹配,那么问题出在哪里?