我正试图从Google Refine中的一列中提取一系列数字。这是我的代码:
value.match(/[d]+/)[0]
我专栏中的数据采用格式
abcababcabc 1234566 abcabcbacdf
结果为"null"。我不知道为什么!!如果我尝试w
而不是d
,那么它也是空的。
OpenRefine不像某些系统那样(正如人们所期望的那样)在模式末尾添加隐式通配符。试试这个模式:
value.match(/.*?(d+).*?/)[0]
你需要在通配符上加上惰性/非贪婪限定符(即问号),这样它们就不会吞噬你的一些数字。如果您只使用/.*(d+).*/
,您将只匹配一个数字,因为其余数字将由.*模式获取。
实现的完整文档可以在Java的Pattern
类文档中看到。