我正在使用 OpenRefine 解析具有字符串值的列。我想找到包含以下内容的单元格:优惠或折扣。字符串值通常是一个句子
我下面的代码使用匹配功能不起作用。使用value.contains()
仅限于搜索一个单词。
value.match(/.*(offer)|(discount)/)
我正在使用 OpenRefine 解析具有字符串值的列。我想找到包含以下内容的单元格:优惠或折扣。字符串值通常是一个句子
我下面的代码使用匹配功能不起作用。使用value.contains()
仅限于搜索一个单词。
value.match(/.*(offer)|(discount)/)
我在文档中看到的是该.match
函数尝试将字符串 s 与正则表达式模式 p 完全匹配并返回一个捕获组数组。
要匹配其中一个但不匹配两者,如果支持,您可以使用正向和负向预读。
要匹配任一选项,请使用交替来确保其中一个单词存在而另一个单词不存在,反之亦然:
(?:(?!.*\bdiscount\b).*\boffer\b.*|(?!.*\boffer).*\bdiscount\b.*)
那将匹配
(?:
非捕获组
(?!.*\bdiscount\b).*\boffer\b.*
断言右边没有折扣并匹配任何字符和报价|
或者(?!.*\boffer).*\bdiscount\b.*
或断言相反)
关闭非捕获组