Search code examples
regexunixyacclex

simple regular expression question


How to match aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab where number of a's should be min of 10?

I mean i know this way:

[a][a][a][a][a][a][a][a][a][a][a][a][a]a*b

But there must be a better elegant method where is if my min number of a's become say 100..

What is it? I am trying to match (a^n)b sort of thing where n can be anything

EDIT:

I forgot to mention this is done using lex and yacc.. where the lex has to return a token to yacc.

%{
#include "y.tab.h"
%}
%%
aaaaaaaaaa[a]*b {return ok;}
\n {return '\n';}
. {return 0;}
%%

Solution

  • If your lex is flex, you can use a{10,}.

    If not so, according to 3. Lex Regular Expressions , you can use a{10}a* instead.