嗨,我在互联网上发现这个正则表达式接受正数^\d + $并且这不接受^ $所以不,我想结合这两个正则表达式但没有成功.我试试这个(^\d + $)|(^ $)但这没有用.所以请帮助我使用regexp,它接受正整数而且没有任何东西
Bar*_*ers 11
简单地说:
^\d*$
Run Code Online (Sandbox Code Playgroud)
的*意思是:"零次或多次".
由于您已经使用Java标记询问了大多数问题,我假设您正在寻找Java解决方案.请注意,在字符串文字内,\需要进行转义!
演示:
class Test {
public static void main(String[] args) {
String[] tests = {"-100", "", "2334", "0"};
for(String t : tests) {
System.out.println(t + " -> " + t.matches("\\d*"));
}
}
}
Run Code Online (Sandbox Code Playgroud)
生产:
-100 -> false
-> true
2334 -> true
0 -> true
Run Code Online (Sandbox Code Playgroud)
请注意,matches(...)已经验证了整个输入字符串,因此无需使用^和"锚定"它$.
请注意,对于超过Integer.MAX_VALUE和的数字,它也会返回true Long.MAX_VALUE.即使matches(...)返回true,parseInt(...)也parseLong(...)可能抛出异常!
| 归档时间: |
|
| 查看次数: |
10173 次 |
| 最近记录: |