我刚刚开始学习正则表达式和hadoopmapreduce。现在,我正在尝试运行一个名为“grep”的hadoopmapreduce示例应用程序,并希望在文本输入文件中找到一系列类似“and”“is”“are”“the”的单词。应用程序“grep”的输入参数之一是定义要查找的单词的正则表达式。假设我想搜索以下单词:“and”“is”“are”“the”。有谁能给我举个例子,说明如何将正则表达式设置为grep的输入参数?谢谢。
db2dz4w81#
使用 grep 已确认:
grep
hadoop org.apache.examples.Grep <indir> <outdir> <regex>
所以你可以从一些简单的事情开始:
hadoop org.apache.examples.Grep <indir> <outdir> '(and)|(is)|(are)|(the)'
kq4fsx7k2#
正则表达式应该是:“\b(and | is | are | the)\b”把它作为正则表达式的参数。你可以在| |和| | | | | | | | | | | | | |之间加上。“\b”表示单词边界,如果没有\b,您可以在另一个单词中匹配一个单词,例如:“scared”而不是“are”,因为“are”包含在“scared”中。
2条答案
按热度按时间db2dz4w81#
使用
grep
已确认:所以你可以从一些简单的事情开始:
kq4fsx7k2#
正则表达式应该是:
“\b(and | is | are | the)\b”
把它作为正则表达式的参数。
你可以在| |和| | | | | | | | | | | | | |之间加上。
“\b”表示单词边界,如果没有\b,您可以在另一个单词中匹配一个单词,例如:“scared”而不是“are”,因为“are”包含在“scared”中。