您无需将结果分配match
给x
。而且您的比赛应该进行x
而不是list
。@H_419_9@
另外,您需要使用re.search
代替re.match
,因为您的regex模式'\W*myString\W*'
将不匹配第一个元素。那是因为test;
与不匹配\W*
。实际上,您只需要测试紧跟的后跟字符,而不是完整的字符串。@H_419_9@
因此,您可以word boundaries
在字符串周围使用:@H_419_9@
pattern = r'\b' + re.escape(myString) + r'\b'
indices = [i for i, x in enumerate(myList) if re.search(pattern, x)]