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