判断字符串是否是数字开头

[code="java"]
System.out.println("34523452root".matches("^[0-9]+"));
[/code]

这句代码为什么返回false

因为这个API判断的就是整个字符串是否匹配你给的正则表达式,显然是不满足的。
以数字开头的话,可以使用find的API,或者修改你的正则为"[0-9]+.*"

[code="java"]
System.out.println("34523452root".startsWith("[0-9]"));

[/code]

正则表达式:^\d+?.*$

话说,^[0-9]+不是代表只匹配数字串吗?正确的正则表达式之一应如下:
[code="java"]
System.out.println("12345ttt".matches("[0-9]+.*"));
[/code]