簡體   English   中英

使用 Python 在 Openrefine 中應用正則表達式

[英]Applying regex in Openrefine with Python

我正在嘗試在 OpenRefine 3.4 中使用value.findall() function,方法是查找包含特定字符串的列中的所有行,即“ WASHER ”、“ FLAT ”、“ 10MM ”和“ SS ”並將其返回到新列中。 這是我的代碼片段。

import re
regex=r"(\WASHER)(\"FLAT")(\"10MM")(\"SS")"
return re.findall(regex, value)

這是屏幕的樣子。

我的屏幕截圖我列中的數據是什么樣的

您需要將以下代碼放入框中:

import re
regex=r'^(?=.*\bWASHER\b)(?=.*\bFLAT\b)(?=.*\b10MM\b)(?=.*\bSS\b).*'
return re.findall(regex, value)

這將返回一個完整的字符串,其中包含WASHERFLAT10MMSS作為字符串中任何位置的整個單詞。

請參閱正則表達式演示

如果它們立即連續發生,您可以使用

regex=r'.*?\bWASHER\s+FLAT\s+10MM\s+SS\b.*'

請參閱此正則表達式演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM