我有一列字符串,我想使用正则表达式在每个单元格中查找逗号或管道,然后执行操作。我试过这个,但它不起作用(没有语法错误,只是不匹配逗号和管道)。
if(value.contains(/(,||)/), ...
有趣的是,相同的正则表达式适用于SublimeText中的相同数据。(是的,我可以在那里工作,然后重新导入,但我想了解有什么区别或我的错误是什么)。
我正在使用Google Refine 2.5。
由于value.match
应该返回捕获的文本,因此您需要定义一个带有捕获组的正则表达式并检查结果是否不为 null。
另外,请注意正则表达式本身:字符串应完整匹配:
尝试将字符串 s 与正则表达式模式 p 完全匹配,并返回捕获组数组。
因此,在较大字符串中查找的模式之前和之后添加.*
:
if(value.match(/.*([,|]).*/) != null)
您可以使用 if 和 isNonBlank 的组合,如下所示:
if(isNonBlank(value.match(/your regex/), ...