[英]regex with match in GREL/OpenRefine
我正在使用 OpenRefine 解析帶有字符串值的列。 我想找到包含以下任何一項的單元格:優惠或折扣。 字符串值通常是一個句子
我下面的代碼使用的匹配功能不起作用。 使用value.contains()
僅限於搜索一個詞。
value.match(/.*(offer)|(discount)/)
我在文檔中看到的是.match
函數嘗試將整個字符串 s 與正則表達式模式 p 進行匹配,並返回一組捕獲組。
要匹配其中之一但不匹配兩者,如果支持,您可以使用正面和負面的前瞻。
要匹配任一選項,請使用交替來確保其中一個單詞存在而另一個不存在,反之亦然:
(?:(?!.*\bdiscount\b).*\boffer\b.*|(?!.*\boffer).*\bdiscount\b.*)
那會匹配
(?:
非捕獲組
(?!.*\\bdiscount\\b).*\\boffer\\b.*
斷言右邊沒有折扣並匹配任何字符和報價|
要么(?!.*\\boffer).*\\bdiscount\\b.*
或斷言相反)
關閉非捕獲組
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.