将正则表达式插入 OpenRefine 构面
Inserting Regular Expressions into OpenRefine facets
在 OpenRefine 中工作我想找到第二个词是 'Street' 的词对。
我有一个 python 正则表达式适用于此,但我无法在 OpenRefine 中使用它。
https://regex101.com/r/igjCuo/94 显示正则表达式工作
\w+(\s+Street)
我的问题是我显然没有正确地将正则表达式插入到 OpenRefine 中。
测试
如果我尝试
value.find("Street")
然后所有正确包含单词的单元格 return。
然而,将正则表达式放入同一个查询中是行不通的
我知道这是关于格式化查询的一些基本知识,但我不知所措,非常感谢您的帮助。
您没有形成正确的正则表达式 literal/string 模式并添加了额外的双引号。
您可以使用
value.find("\w+\s+Street")
value.find(/\w+\s+Street/)
请注意,您不需要捕获组,因为您需要获得完整的匹配项。
NOTE: If p
is a String then we compile it into a regex pattern, otherwise, If p
is already a regex, then we just use that regex pattern. NOTE: When supplying the regex pattern in string quotes, you will need to use escaping (double slashes)
在 OpenRefine 中工作我想找到第二个词是 'Street' 的词对。
我有一个 python 正则表达式适用于此,但我无法在 OpenRefine 中使用它。
https://regex101.com/r/igjCuo/94 显示正则表达式工作
\w+(\s+Street)
我的问题是我显然没有正确地将正则表达式插入到 OpenRefine 中。
测试
如果我尝试
value.find("Street")
然后所有正确包含单词的单元格 return。
然而,将正则表达式放入同一个查询中是行不通的
我知道这是关于格式化查询的一些基本知识,但我不知所措,非常感谢您的帮助。
您没有形成正确的正则表达式 literal/string 模式并添加了额外的双引号。
您可以使用
value.find("\w+\s+Street")
value.find(/\w+\s+Street/)
请注意,您不需要捕获组,因为您需要获得完整的匹配项。
NOTE: If
p
is a String then we compile it into a regex pattern, otherwise, Ifp
is already a regex, then we just use that regex pattern. NOTE: When supplying the regex pattern in string quotes, you will need to use escaping (double slashes)