以下代码是否可以确保'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}表示匹配前一个正则表达式两次。

$表示匹配行尾。

10-07 19:22
查看更多