在某个字符串中查找多个单词的正则表达式

k5ifujac  于 2021-06-04  发布在  Hadoop
关注(0)|答案(2)|浏览(395)

我刚刚开始学习正则表达式和hadoopmapreduce。现在,我正在尝试运行一个名为“grep”的hadoopmapreduce示例应用程序,并希望在文本输入文件中找到一系列类似“and”“is”“are”“the”的单词。应用程序“grep”的输入参数之一是定义要查找的单词的正则表达式。假设我想搜索以下单词:“and”“is”“are”“the”。有谁能给我举个例子,说明如何将正则表达式设置为grep的输入参数?
谢谢。

db2dz4w8

db2dz4w81#

使用 grep 已确认:

hadoop org.apache.examples.Grep <indir> <outdir> <regex>

所以你可以从一些简单的事情开始:

hadoop org.apache.examples.Grep <indir> <outdir> '(and)|(is)|(are)|(the)'
kq4fsx7k

kq4fsx7k2#

正则表达式应该是:
“\b(and | is | are | the)\b”
把它作为正则表达式的参数。
你可以在| |和| | | | | | | | | | | | | |之间加上。
“\b”表示单词边界,如果没有\b,您可以在另一个单词中匹配一个单词,例如:“scared”而不是“are”,因为“are”包含在“scared”中。

相关问题