regex: Nested quantifier ?. error! help

  • Thread starter Thread starter Mad Scientist Jr
  • Start date Start date
M

Mad Scientist Jr

I am trying to use regex to find a string where ? could be between 0
and 10 characters, for instance the strings:

Error. Username 1092006871 does not exist. Record not processed.
Error. Username abc123 does not exist. Record not processed.
Error. Username does not exist. Record not processed.

would all yield results

However, the regex I am using:

Username ?????????? does not exist.

Gives a "Nested quantifier ?." error.

I have tried using *:

Username * does not exist.

but it doesn't find anything.

The only thing that seems to work is .:

Username .......... does not exist.

But that only matches on cases where the username is exactly 10
characters. I would like to match on cases where the username is
between 0 and 10.

Any help (and especially examples) appreciated.
 
Mad Scientist Jr said:
I am trying to use regex to find a string where ? could be between 0
and 10 characters, for instance the strings:

Error. Username 1092006871 does not exist. Record not processed.
Error. Username abc123 does not exist. Record not processed.
Error. Username does not exist. Record not processed.

would all yield results

However, the regex I am using:

Username ?????????? does not exist.

Gives a "Nested quantifier ?." error.

I have tried using *:

Username * does not exist.

but it doesn't find anything.

The only thing that seems to work is .:

Username .......... does not exist.

But that only matches on cases where the username is exactly 10
characters. I would like to match on cases where the username is
between 0 and 10.

Any help (and especially examples) appreciated.

In a nutshell: ? and * don't behave the way you think they do.

Here's a nice tutorial about regular expressions:
http://www.codeproject.com/useritems/RegexTutorial.asp

Instead of writing ....... 10 times, you can use .{10}; You can also use
..{0,10} for a variable number of characters (in this case 0-10).
However, this would match 0-10 characters, whatever these characters are
(blanks, special characters, digits...), I'm not sure if that's what you
want...

Niki
 
Back
Top