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

Regex 如何使用正则表达式匹配特定大小的单词?,regex,Regex,我有一个名为file.txt的文件,上面有3个单词 禁止 月亮 好笑 现在我只想匹配3或4个字符的单词 grep "[a-z]\{3,4\}" file.txt 这不起作用。它仍然匹配所有3个单词,我只希望匹配前2个。我做错了什么?每三个或四个字母组合匹配一次。您需要匹配以空格或行首或行尾为边界的每三个或四个字母组合。使用以下方法: grep "\<[a-z]\{3,4\}\>" file.txt grep“\”file.txt 一个包含5个字符的单词匹配[A-z]{4}。您需要

我有一个名为file.txt的文件,上面有3个单词

禁止
月亮
好笑

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

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

这不起作用。它仍然匹配所有3个单词,我只希望匹配前2个。我做错了什么?

每三个或四个字母组合匹配一次。您需要匹配以空格或行首或行尾为边界的每三个或四个字母组合。

使用以下方法:

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

一个包含5个字符的单词匹配
[A-z]{4}
。您需要单词边界,以及白鹭:

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

是的,我知道马塞洛有答案……这很有效!是的,必须使用\<\>来处理空白,行的开始/结束