检查字符串中的位数

时间:2014-09-17 06:00:54

标签: java android regex

以下代码是否确保'myteststring'只包含两位数字?如果没有,如何修改它?

if(myteststring.matches("^[0-9]*\\$")) 
{
// Do something
}
else {
// Do something else
}

2 个答案:

答案 0 :(得分:2)

匹配包含至少一对数字,任意字符组合的字符串,以及数字正好是两位数的限制:

myteststring.matches("^[^0-9]*([0-9]{2}[^0-9]+)*[0-9]{2}[^0-9]*$")

要包含空字符串:

myteststring.matches("^[^0-9]*([0-9]{2}[^0-9]+)*([0-9]{2})?[^0-9]*$")

匹配包含两位数字的刺痛:

myteststring.matches("^[0-9]{2}$")

或者

myteststring.matches("^[0-9][0-9]$")

^表示匹配行的开头。在方括号内使用时,它与图案的相反方向匹配。

[0-9]表示匹配其中一个。数字从0到9。

{2}表示与之前的正则表达式匹配两次。

$表示匹配行尾。

答案 1 :(得分:2)

使用(\\d{2})+。这会检查数字对。 demo here

输出:

myString ="123" --  > false
myString ="12" -- > true
myString ="1234" --> true