簡體   English   中英

正則表達式在 GREL/OpenRefine 中匹配

[英]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.

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