[英]Pig: Regular Expression syntax
我在猪脚本中使用正则表达式使用字符串比较。
我知道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"
。
我不知道PIG
,但是在Java中,一个语法正确的正则表达式可以匹配pqrs,234
和lmn,2345
,并且是:
^\S+$
假设您处于multiline
模式。
^\\\\S+$
(?m)
打开multiline
,因此正则表达式可以是(?m)^\\\\S+$
参见演示 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.