inputData = load '/user/admin/logs/chat_miss' as line:chararray;
filteredData = filter inputData by line matches '([\\d\/]+)\/([\\d:]+)\\s+([\\w\\d]+)\\s+([\\w\\W]+):\\s+([\\w]+)\\W+([\\w]+)\\s+([\\w\/-]+.\\w+)';
上面是我的两行代码示例,我想在其中加载一个文件并用这个正则表达式匹配每一行。我发现每个元字符都需要额外的反斜杠。但问题是我想跳过一个特殊的角色。
这是错误:
ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1200: <line 7, column 55> Unexpected character '/'
这是我希望匹配的样本行:
13/06/2016/19:15:32 imagecache1 varnishd[8412]: MISS : chat /cloud/chatContens-139/2111400434/3646261465820934391.jpg
1条答案
按热度按时间ftf50wuq1#
刚刚发现,每个跳过的反斜杠也需要一个额外的反斜杠。即