简单的正则表达问题

foo*_*oty 0 regex unix yacc lex

如何匹配aa的数量应该是10分钟的aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ...

我的意思是我知道这种方式:

[a][a][a][a][a][a][a][a][a][a][a][a][a]a*b
Run Code Online (Sandbox Code Playgroud)

但是必须有一个更好的优雅方法,如果我的最小数量变为100 ...

它是什么?我试图匹配(a ^ n)b类似于n可以是任何东西的东西

编辑:

我忘了提到这是使用lex和yacc来完成的...其中lex必须将一个令牌返回给yacc.

%{
#include "y.tab.h"
%}
%%
aaaaaaaaaa[a]*b {return ok;}
\n {return '\n';}
. {return 0;}
%%
Run Code Online (Sandbox Code Playgroud)

aio*_*obe 7

尝试

a{10,}
Run Code Online (Sandbox Code Playgroud)

a10次​​或更多次.

grep -E "a{10,}" filename
Run Code Online (Sandbox Code Playgroud)

匹配aaaaaaaaaaaaaaaaaaaaaaaaab但不是aaaaaaaaab.