python中基于子串匹配的整词提取



我正在寻找Python中的正则表达式。我有一个很长的文本字符串,我有一个子字符串列表要在这个很长的字符串中进行匹配。

中的子字符串示例:"table"、"e future"示例字符串:

'Today is a good day to do up the table furnishings. Lets go to the store.'

对于"table",我想提取"table"。关于"e家具",我想摘录一下"餐桌家具"。

我当前的代码是:

for item in checklist:
 pattern = r"[s](.*)" + item +"([a-z]){0,2}[s.]"
 print pattern    
 matchObj = re.search(pattern, line)
 if matchObj:
   print "matchObj.group() : ", matchObj.group()
 else:
   print ("No match!!")

但是我不能拾取封装子字符串的整个单词。问题是,子字符串可以是单个或多个单词,它可能匹配整个单词或只是单词的一部分。对于那些包含多个单词的子字符串,提取的单词必须在一起,中间不能有其他单词。

谢谢大家的帮助。

您可以使用任意数量的w*作为小丑。

w*e furnishw*

请参阅regex101 上的演示

最新更新