「java正则区间」正则表达式匹配区间

博主:adminadmin 2023-01-12 22:24:07 396

本篇文章给大家谈谈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正则区间的信息别忘了在本站进行查找喔。