`

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

阅读更多
存在一个文件user.txt,内容如下:

     1 fafdasfdasfd
     2 fdasfdasfdsaf
     3 aooooob5
     4 aooooooob7
     5 aoooooooob8
     6 aooooooooob9
     7 aoooooooooob10
     8 aooooooooooob11
     9 aooo1oooob

字符的重复出现次数:
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



-------完毕,欢迎大伙来拍砖,一起交流。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics