「java正则区间」正则表达式匹配区间
本篇文章给大家谈谈java正则区间,以及正则表达式匹配区间对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
Java的正则表达式
这正则有点怪呢。//是没有意义的,转义是\,多个//其实相当于一个/,-表示一个范围区间,最后一个-我也不知道啥意思,可能是/到~直接的一些字符吧,一般不会这样用的。
整个正则等价于 [^A-Za-z0-9.@_/-~#]+ ,里面的.@_#符号没啥特殊意义,就表示这些符号本身的字符,整个正则的意思:不是字母、数字和一些特殊符号的字符串
java正则表达式的问题,有一个时间字符串(yyyyMMdd),怎么判断他在一个时间区间类,时间区间随时变化。
你这个很简单,不需要转成long再比较,java.util.Date已经有after()、before()等方法来比较两个时间的先后顺序了。示例代码如下:
/**
* 检测一个时间是否在一个时间区间之内
* @param start 有效的开始时间
* @param end 有效的结束时间
* @param check 待检测时间
* @return
*/
public boolean checkValidDay(Date start,Date end,Date check){
if(check.after(start) check.before(end)){
return true;
}else{
return false;
}
}
@Test
public void test() throws ParseException{
String validStartDayStr = "20170501"; //有效的开始时间
String validEndDayStr = "20171231"; //有效的结束时间
String testDay1Str = "20160101"; //测试时间1
String testDay2Str = "20170720"; //测试时间2
String testDay3Str = "20181230"; //测试时间3
DateFormat format = new SimpleDateFormat("yyyyMMdd");
Date startDay = format.parse(validStartDayStr);
Date endDay = format.parse(validEndDayStr);
Date testDay1 = format.parse(testDay1Str);
Date testDay2 = format.parse(testDay2Str);
Date testDay3 = format.parse(testDay3Str);
System.out.println(checkValidDay(startDay, endDay, testDay1));
System.out.println(checkValidDay(startDay, endDay, testDay2));
System.out.println(checkValidDay(startDay, endDay, testDay3));
}
测试代码输出如下:
false
true
false
帮忙写一个 1-255 的java正则表达式
1-255:
(([1-9])|([1-9][0-9])|(1[0-9][0-9])|(2[0-4][0-9])|(25[0-5]))
也可以不加最外层括号:
([1-9])|([1-9][0-9])|(1[0-9][0-9])|(2[0-4][0-9])|(25[0-5])
这是0-255的:
(([0-9])|([1-9][0-9])|(1[0-9][0-9])|(2[0-4][0-9])|(25[0-5]))
java正则区间的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于正则表达式匹配区间、java正则区间的信息别忘了在本站进行查找喔。