如何在Pig中创建不区分大小写的匹配?

时间:2015-02-25 18:37:34

标签: regex apache-pig

假设我有以下文件,学生

John
Mary
Bill
Joe

然后按如下方式加载我的数据:

a = load 'student' as (name:chararray);

我希望b的结果不区分大小写:

b = filter a by name matches ('.*john.*');

即返回一场比赛,(约翰)。我尝试使用'?i.*john.*'设置正则表达式模式,但这似乎不起作用。

2 个答案:

答案 0 :(得分:5)

原因是你忘了关闭不区分大小写的部分的支架。 正确的语法是'(?i).*john.*'

你可以试试这个过滤器吗?

b = filter a by name matches '(?i).*john.*';

答案 1 :(得分:0)

我知道这是一种丑陋的方式,但你可以试试这个 -

.*[Jj][Oo][Hh][Nn].*