正则表达式只某个字符连续出现的次数

存在一个文件user.txt,内容如下:

1fafdasfdasfd

2fdasfdasfdsaf

3aooooob5

4aooooooob7

5aoooooooob8

6aooooooooob9

7aoooooooooob10

8aooooooooooob11

9aooo1oooob

字符的重复出现次数:

x\{n\}----x字符出现n次

x\{n,\}----x字符至少出现n次

x\{n,m\}----x字符出现n-m次(n<=m)

但是通过实践,grep'o\{7\}'user.txt会返回4,5,6,7,8这几行;

grep'o\{7,9\}'user.txt会返回4,5,6,7,8这几行;

如何才能返回只包含n个连续的x呢?

正确的表达式应为:grep'[^x]x\{n\}[^x]'user.txt

例如:grep'[^o]o\{7\}[^o]'user.txt

如何才能返回只包含n-m个连续的x呢?

正确的表达式应为:grep'[^x]x\{n,m\}[^x]'user.txt

例如:grep'[^o]o\{7,9\}[^o]'user.txt

-------完毕,欢迎大伙来拍砖,一起交流。

相关推荐