我正在寻找一个简单的正则表达式来匹配这个:
int.int"
其中整数大于0
。
匹配:
1.1"
1.5"
5.1"
40.30"
1.29"
错配:
1.1
0.4"
4.0"
0.30"
39.0"
答案 0 :(得分:5)
您可以使用以下正则表达式:
^[1-9][0-9]*\.[1-9][0-9]*"$
^ : 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*"
感谢所有帮助过的人。
布鲁诺