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