以下代码是否可以确保'myteststring'仅包含两位数字?如果没有,如何进行修改?
if(myteststring.matches("^[0-9]*\\$"))
{
// Do something
}
else {
// Do something else
}
最佳答案
要匹配包含至少一对数字,字符的任意组合以及数字恰好是两个数字的限制的字符串,请执行以下操作: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}
表示匹配前一个正则表达式两次。$
表示匹配行尾。