用于在特定字符串中查找多个单词的正则表达式

时间:2013-11-23 21:01:29

标签: regex hadoop

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

感谢。

2 个答案:

答案 0 :(得分:1)

grep的使用得到承认:

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

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

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

答案 1 :(得分:0)

你的正则表达式应该是:

“\ B(和|是|是|的)\ b” 的

把它作为你的正则表达式论证。

您可以在||之间添加更多单词这是一个“或”。

“\ b”表示单词边界,没有\ b,你​​可以匹配另一个单词中的单词,例如:“scared”而不是“are”,因为“are”包含在“scared”中。