Thread overview
regex: force entire string to match
Jan 31, 2012
NewName
Jan 31, 2012
Trass3r
Jan 31, 2012
Justin Whear
Jan 31, 2012
NewName
Jan 31, 2012
bearophile
January 31, 2012
Hello all.
I want to write a regex to check if a whole string is a number.
With my current regex("[0-9]+") numbers will be carved out of things like
"aaa456" (hit: 456) and I circumvent this by checking the lengths for
inequality, which is stupid. My regex is surely missing something?

Thank you for reading.
January 31, 2012
> I want to write a regex to check if a whole string is a number.
> With my current regex("[0-9]+") numbers will be carved out of things like
> "aaa456" (hit: 456) and I circumvent this by checking the lengths for
> inequality, which is stupid. My regex is surely missing something?

Try ^ and $ if applicable. These match start and end of a line.
January 31, 2012
On Tue, 31 Jan 2012 16:29:43 +0000, NewName wrote:

> Hello all.
> I want to write a regex to check if a whole string is a number. With my
> current regex("[0-9]+") numbers will be carved out of things like
> "aaa456" (hit: 456) and I circumvent this by checking the lengths for
> inequality, which is stupid. My regex is surely missing something?
> 
> Thank you for reading.

You want to match the beginning and end of the input as well: "^[0-9]+$"
January 31, 2012
> You want to match the beginning and end of the input as well: "^[0-9]+$"

Thanks.
January 31, 2012
NewName:

> Hello all.
> I want to write a regex to check if a whole string is a number.

Also:

import std.stdio, std.string, std.array;
void main() {
    string s = "123";
    assert(s.removechars("0-9").empty);
}

Bye,
bearophile