繁体   English   中英

正则表达式和Openrefine中的值匹配

[英]Value matching in regex and Openrefine

我正在尝试使用OpenRefine 2.6中的value.match命令基于4号日期拆分两列。

文本示例是:

“第一句话,第二句话,第三句话,2009”

我要做的是“基于此列添加列”并插入

value.match(\\ d {4})

但我得到了错误

偏移12处的解析错误:缺少数字,字符串,标识符,正则表达式或括号表达式

对可能的解决方案有什么想法?

您需要修复3件事才能使此工作:

1)正如Wiktor所说,您需要以正斜杠开始和结束正则表达式/

2)'match'函数要求您匹配单元格中的整个字符串,而不仅仅是您需要的片段-因此您的正则表达式需要匹配整个字符串

3)要使用“匹配”提取字符串的一部分,您需要在正则表达式中具有捕获组-即在要提取的正则表达式的位周围使用()。 捕获的值将放入数组中,您需要将字符串从tge数组中取出以将其存储在单元格中

因此,您将需要以下内容:

value.match(/.*(\d{4})/)[0]

从字符串末尾获取四位数的年份

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM