Trivial regex problem

I'm sure this is a very easy regular expression, I just can't seem to get it to work the way I want it to. Basically, I want to check the first character of a string and see if it matches either 0, 1 or 2.

String str = "2 Invalid Server Response"

str.matches("[0-2]");

I don't know how to check the first character and ignore the rest of the string. Is there a way to do this wihout first making a substring of the first character?

Thanks

[472 byte] By [Rob-UKa] at [2007-11-26 20:19:57]
# 1
The regex is"^[0-2].*"^ = the beginning of the line,[0-2] = followed by 0, 1 or 2,. = any character,* = zero or more times
prometheuzza at 2007-7-10 0:44:05 > top of Java-index,Java Essentials,Java Programming...
# 2

> The regex is"^[0-2].*"

> ^ = the beginning of the line,

> [0-2] = followed by 0, 1 or 2,

> . = any character,

> * = zero or more times

The ^ is not required in Java regex because the whole has to match so you can just use the regex "[0-2].*" .

sabre150a at 2007-7-10 0:44:05 > top of Java-index,Java Essentials,Java Programming...
# 3

> > The regex is "^[0-2].*"

> > ^ = the beginning of the line,

> > [0-2] = followed by 0, 1 or 2,

> > . = any character,

> > * = zero or more times

>

> The ^ is not required in Java regex because the whole

> has to match so you can just use the regex "[0-2].*" .

Yes, of course. That was silly...

Thanks.

Edit:

Why did you specifically write "in Java regex"? Are there other regexes where you need to specify the beginning of a line in this case?

prometheuzza at 2007-7-10 0:44:05 > top of Java-index,Java Essentials,Java Programming...
# 4

> > > The regex is "^[0-2].*"

> > > ^ = the beginning of the line,

> > > [0-2] = followed by 0, 1 or 2,

> > > . = any character,

> > > * = zero or more times

> >

> > The ^ is not required in Java regex because the

> whole

> > has to match so you can just use the regex

> "[0-2].*" .

>

> Yes, of course. That was silly...

> Thanks.

>

> Edit:

> Why did you specifically write "in Java regex"? Are

> there other regexes where you need to specify

> the beginning of a line in this case?

I wouldn't say "in Java regex." I'd say "in Java's matches method."

bsh % str = "123456789";

bsh % str.matches("5");

<false>

bsh % p = Pattern.compile("5");

bsh % m = p.matcher(str);

bsh % m.find();

<true>

jverda at 2007-7-10 0:44:05 > top of Java-index,Java Essentials,Java Programming...
# 5
> Why did you specifically write "in Java regex"? Are> there other regexes where you need to specify> the beginning of a line in this case?Atleast in lex RE design we don't have to (Quest crazy about lex RE)
qUesT_foR_knOwLeDgea at 2007-7-10 0:44:05 > top of Java-index,Java Essentials,Java Programming...
# 6

> > Why did you specifically write "in Java regex"?

> Are

> > there other regexes where you need to

> specify

> > the beginning of a line in this case?

>

> Atleast in lex RE design we don't have to

Don't have to "in Java regex" either, depending on which method you use.

jverda at 2007-7-10 0:44:05 > top of Java-index,Java Essentials,Java Programming...