正则表达式匹配一个整数值 请问用正则表达式,如何匹配0-20之间的整数? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 弱弱的问一下,望lz别介意,lz的需求是什么啊?用正则必要何在?为什么不能如下使用呢?int a = 12;if(a > 0 && a < 20) { ……} 另外,顶一下一楼朋友的答复,其答案匹配的是(>=0 && <20)但不知lz是否需要形如01、02...09这样的数字,如不需要,则还需修改。 最笨但是最直观的写法String ptn = "(?:\\d|1\\d{1}|20)"; String regex="[0-20]"; System.out.println("21".matches(regex)); 不好意思,大意了。 String regex="((?=2)0?)?([0-1]?[0-9])"; for(int i=0;i<200;i++){ System.out.println((i+"").matches(regex)); 关于使用多个 catch 语句捕获多个异常问题。 使用SSLsocket时,如何判断安全证书是否过期? 如何查看文件以前的编码 歌德巴赫猜想 c/s与b/s之间如何通信 低级问题求助 线程有几种状态? java语句里如何实现获取已知日期的年、月、日呀 有没有谁知道哪里有jdbc driver for sqlserver2000(当然是说免费而功能完全的了)? 为什么applet在Jbuilder里可以运行,但是在IE里报告找不到class? 关于java Swing组件的监听 SWT开发word时菜单栏的问题
为什么不能如下使用呢?
int a = 12;
if(a > 0 && a < 20) {
……
}
但不知lz是否需要形如01、02...09这样的数字,如不需要,则还需修改。
String ptn = "(?:\\d|1\\d{1}|20)";
String regex="[0-20]";
System.out.println("21".matches(regex));
String regex="((?=2)0?)?([0-1]?[0-9])";
for(int i=0;i<200;i++){
System.out.println((i+"").matches(regex));