我正在使用Python编写代码,并且从不同的变量中获取两个或更多单词并尝试在给定文本中找到匹配项。
例如,两个变量可能声明如下:
string1 = 'Polluted'
string2 = 'air'
要匹配的文字可能是:
'Polluted\t\t\t air '
或'Polluted\tair'
。
单词/代币之间可能还有多个空格。
我需要找到一个类似于re.search(string1'\t+'string2,var)
您能帮助解决方案按预期实现吗?
答案 0 :(得分:4)
使用等同于[ \t\n\r\f\v]
集的\s
,以及在使用re.UNICODE
时在Unicode字符属性数据库中被分类为空格的任何内容。
>>> var = 'Polluted\t\t\t air, Polluted\tair'
>>> re.findall(re.escape(string1) + '\s+' + re.escape(string2), var)
['Polluted\t\t\t air', 'Polluted\tair']
>>> re.search('(\w+)\s+(\w+)', 'Polluted\t\t\t air').groups()
('Polluted', 'air')