问题描述
我试图通过查找包含特定字符串的列中的所有行(即“value.findall()
”、“WASHER
”、“{”)来使用 OpenRefine 3.4 中的 FLAT
函数{1}}" 和 "10MM
"` 以任意给定的随机顺序返回,并将其返回到新列中。这是我的代码片段。
SS
这是屏幕的样子。
解决方法
您需要将以下代码放入框中:
import re
regex=r'^(?=.*\bWASHER\b)(?=.*\bFLAT\b)(?=.*\b10MM\b)(?=.*\bSS\b).*'
return re.findall(regex,value)
这将返回一个完整的字符串,其中包含 WASHER
、FLAT
、10MM
和 SS
作为字符串中任意位置的完整单词。
参见regex demo。
如果它们立即连续发生,您可以使用
regex=r'.*?\bWASHER\s+FLAT\s+10MM\s+SS\b.*'