如何使用正则表达式匹配两个大于零的整数的字符串?

时间:2011-02-28 15:56:46

标签: regex

我正在寻找一个简单的正则表达式来匹配这个:

int.int"

其中整数大于0

匹配:

1.1"
1.5"
5.1"
40.30"
1.29"

错配:

1.1
0.4"
4.0"
0.30"
39.0"

3 个答案:

答案 0 :(得分:5)

您可以使用以下正则表达式:

^[1-9][0-9]*\.[1-9][0-9]*"$

Rubular Link

^     : Start anchor
[1-9] : Non zero digit
[0-9]*: Zero or more of any digit 0-9
\.    : A literal period
"     : A literal "
$     : End anchor

锚是必不可少的。如果没有它们,您将匹配任何具有您希望任何地方的模式的字符串,例如foo11.22bar。使用锚点,正则表达式将尝试匹配整个字符串,而不仅仅是它的任何适当子集

.是一个正则表达式元字符,匹配任何字符(换行符除外)。
要匹配文字.,您需要将其转义为\.

答案 1 :(得分:3)

这适用于.NET吗?

[1-9]\.[1-9]"

答案 2 :(得分:0)

我已经成立了这个“我自己”:

[1-9][0-9]*\.[1-9][0-9]*"

当然有了反应的人的初步帮助。 (并在早上新头:-))

正如Alan Moore在coaddict回答中评论的那样,你也可以使用:

[1-9]\d*\.[1-9]\d*"

感谢所有帮助过的人。

布鲁诺