我在pig脚本中使用正则表达式进行字符串比较。
我知道PIG中的正则表达式与Java相同。
我面临的问题是:我需要删除尾端包含空格的所有字符吗?
我的正则表达式为:(name matches '!\\s+$')
示例脚本-----
raw_data = load '$input' using PigStorage(',') as (fname:chararray);
filter_data = filter raw_data by (fname matches '!\\s+$');
dump filter_data;
示例输入-----
abcd ,123
pqrs,234
xyz ,234
lmn,2345
它没有在STDOUT
上写任何内容,因为它应该写在"pqrs"
和"lmn"
。
答案 0 :(得分:1)
我不知道PIG
,但在Java中,有一个语法正确的正则表达式匹配pqrs,234
和lmn,2345
,并且会是:
^\S+$
假设您处于multiline
模式。
^\\S+$
multiline
启用(?m)
,以便正则表达式为(?m)^\\S+$
请参阅demo。