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