如何使用正则表达式匹配特定大小的单词?

时间:2010-08-06 12:56:35

标签: regex

我有一个名为file.txt的文件,说3个字

禁令
月亮
有趣的

现在我想只匹配3或4个字符的单词

grep "[a-z]\{3,4\}" file.txt

这不起作用.. stil匹配所有3个单词,我只期望匹配第一个2.我在这里做错了什么?

3 个答案:

答案 0 :(得分:2)

使用此:

grep "\<[a-z]\{3,4\}\>" file.txt

答案 1 :(得分:0)

匹配每三个或四个字母组合。你想要的是匹配由空格或行的开头或结尾限定的每三个或四个字母组合。

答案 2 :(得分:0)

包含5个字符的单词与[a-z]{4}匹配。你需要单词边界,egrep:

chris$ egrep "\b[a-z]{3,4}\b" regextest.txt 
ban 
moon 
chris$