以下代码是否确保'myteststring'只包含两位数字?如果没有,如何修改它?
if(myteststring.matches("^[0-9]*\\$"))
{
// Do something
}
else {
// Do something else
}
答案 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