Google Refine 中 value.contains() 的正则表达式
Regex for value.contains() in Google Refine
我有一列字符串,我想使用正则表达式在每个单元格中找到逗号 或 管道,然后进行操作。我试过了,但它不起作用(没有语法错误,只是既不匹配逗号也不匹配竖线)。
if(value.contains(/(,|\|)/), ...
有趣的是,相同的正则表达式在 SublimeText 中使用相同的数据。 (是的,我可以在那里工作然后重新导入,但我想了解有什么区别或者我的错误是什么)。
我正在使用 Google Refine 2.5。
您可以结合使用 if 和 isNonBlank,例如:
if(isNonBlank(value.match(/your regex/), ...
由于value.match
应该return捕获文本,您需要定义一个带有捕获组的正则表达式并检查结果是否不为空。
此外,请注意正则表达式本身:字符串应匹配 in its entirety:
Attempts to match the string s in its entirety against the regex pattern p and returns an array of capture groups.
因此,在您正在寻找的模式前后添加 .*
在 一个更大的字符串中:
if(value.match(/.*([,|]).*/) != null)
我有一列字符串,我想使用正则表达式在每个单元格中找到逗号 或 管道,然后进行操作。我试过了,但它不起作用(没有语法错误,只是既不匹配逗号也不匹配竖线)。
if(value.contains(/(,|\|)/), ...
有趣的是,相同的正则表达式在 SublimeText 中使用相同的数据。 (是的,我可以在那里工作然后重新导入,但我想了解有什么区别或者我的错误是什么)。
我正在使用 Google Refine 2.5。
您可以结合使用 if 和 isNonBlank,例如:
if(isNonBlank(value.match(/your regex/), ...
由于value.match
应该return捕获文本,您需要定义一个带有捕获组的正则表达式并检查结果是否不为空。
此外,请注意正则表达式本身:字符串应匹配 in its entirety:
Attempts to match the string s in its entirety against the regex pattern p and returns an array of capture groups.
因此,在您正在寻找的模式前后添加 .*
在 一个更大的字符串中:
if(value.match(/.*([,|]).*/) != null)