http://qs321.pair.com?node_id=244318


in reply to specific numbers of digits

Add a negative lookahead assertion to make sure the next character is not a digit: /\d{5}(?!\d)/

--- print map { my ($m)=1<<hex($_)&11?' ':''; $m.=substr('AHJPacehklnorstu',hex($_),1) } split //,'2fde0abe76c36c914586c';

Replies are listed 'Best First'.
Re: Re: specific numbers of digits
by hv (Prior) on Mar 19, 2003 at 17:05 UTC

    That will still match 6 digits, it'll just match the last 5 rather than the first 5. To match only 5 digits you need an assertion at both ends:

    m{ (?>! \d) # not after a digit \d(5} (?! \d) # not before a digit }x;

    Hugo