java - 检查字符串中的位数

标签 java android regex

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

$ 表示匹配行尾。

关于java - 检查字符串中的位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25883306/

相关文章:

java - 测试字符串是否是字符串列表的覆盖字符串

Javafx 组件应始终位于 AnchorPane 的中心

android - IntelliJ "Make"阶段做了什么?

Javascript 字符串操作获取字符串的一部分

Java 正则表达式 - 空格

php - 将带有反向引用的正则表达式从 PHP 移植到 Objective-C

java - Apache Derby : how can I do "insert if not exists"?

java - PKCS#11 PKCS11 dll

java - 在 getview() 方法中使用异步任务

android - 最新的 android studio 3.0.1 上的 Gradle 4.1 问题