我正在寻找 Python 中的正则表达式。
我有一个很长的文本字符串,我有一个子字符串列表,可以在长文本字符串中进行匹配。
示例子字符串:'table', 'e furnish'
示例字符串:
'Today is a good day to do up the table furnishings. Lets go to the store.'
对于“表”,我想提取“表”。
对于“e furnish”,我想提取“table furnishs”。
我目前的代码是:
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*
任意数量的单词字符作为 clown 。
\w*e furnish\w*
See demo at regex101