只能输入正数:^([0-9]*)$
只允许输入正整数(不包括0):^[0-9]*[1-9][0-9]*$
只允许输入正数,负数,小数的正则表达式
: ^(-|+)?d+(.d+)?$
价格输入框的正则表达式:^(+)?d+(.d+)?$
只允许英文字母、数字、下划线:/^[u4E00-u9FA5a-zA-Z0-9_]{0,}$/
正则表达式 允许输入汉字,数字,标点符号!最多 输入200个字符,但不允许输入特殊字符?
是用在那个环境下的? js的如下: ^([u4e00-u9fa5]|[0-9]|[,]|[,]){0,200}$ 标点符号要添加 则如 添加 “ ^([u4e00-u9fa5]|[0-9]|[,]|[,]|[“]){0,200}$
-----------------------------------------------------------------------
从字符串提取ipv4地址:
Pattern p = Pattern.compile("((2[0-4]d|25[0-5]|[01]?dd?).){3}(2[0-4]d|25[0-5]|[01]?dd?)"); Matcher m = p.matcher(line); while(m.find()){ //找到ipv4 System.out.println("get-----" +m.group()); }
--------------------------------------------------------------------
利用正则获取请求的参数
Pattern p3=Pattern.compile("(?:^|?|&)flowsize=(d*)(?:&|$)"); Matcher m3=p3.matcher(line); while(m3.find()){ //找到ipv4 System.out.println("value-----" +m3.group()); }
-------------------------------------------------------------
截取两个符号之间的内容(这里是获取=与符号之间的内容)
param=param.substring(param.indexOf("=")+1,param.lastIndexOf("&"));
eg:
/** * 提取请求里的参数,这里只限制courseId=xxxx (xxxx只能为数字) */ public String getParameter(String str,String name){ String rex ="(?:^|?|&)"+name+"=(d*)(?:&|$)"; Pattern p=Pattern.compile(rex); Matcher m=p.matcher(str); String param = ""; while(m.find()){ //找到ipv4 param=m.group(); //System.out.println("value-----" +m.group()); if(StringUtils.isNotBlank(param)){ param=param.substring(param.indexOf("=")+1,param.lastIndexOf("&")); } } return param; }
----------------------------------
提取url参数,方法二
String rex ="(?:^|?|&)schoolID=([^&]*)(?:&|$)"; Pattern p2=Pattern.compile(rex); Matcher m2=p2.matcher(line); String param = ""; System.out.println("--------sc---------"+m2.find()); while(m2.find()){ //找到ipv4 param=m2.group(); System.out.println("value-----" +m2.group()); if(StringUtils.isNotBlank(param)){ param=param.substring(param.indexOf("=")+1,param.lastIndexOf("&")); } }
------------------------------------------------------------------------------------------------------------------
正则匹配时间,[16/Sep/2014:06:01:27 +0800] 2014-9-17 15:34:45
String timeStr=""; timeStr=line.substring(line.indexOf("[")+1,line.lastIndexOf("]")); String time=""; //Pattern p = Pattern.compile("d{4}-d{2}-d{2} d{2}:d{2}:d{2}"); Pattern pt = Pattern.compile("d{4}:d{2}:d{2}:d{2}"); //Pattern pt = Pattern.compile("<.*?>/<.*?>/d{4}:d{2}:d{2}"); Matcher mt = pt.matcher(timeStr); while(mt.find()){ //找到时间串 time=mt.group(); //System.out.println("------time-------" +mt.group()); }
-----------------------------------------------------------------
截取nginx日志文件的默认的日期格式,并转换格式
String line="14.18.236.66 - - [18/Sep/2014:17:15:14 +0800] "GET /analytics/a.html?pid=&schoolID=test&courseID=hyjg8hjv§ionID=hyjg8hjv0.557400637306273&lectureID=hyjg8hjv0.5574006373062730.25944938557222486&userID=httirtd2&duration=0&Date=&Browser=&terminal= HTTP/1.1" 200 1 "http://192.168.1.113:8080/secure/course/hyjg8hjv/learn" "Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML,like Gecko) Mobile/11D201 QQ/5.0.0.165" "-"";
String timeStr=""; timeStr=line.substring(line.indexOf("[")+1,line.lastIndexOf("]")); String time=""; Pattern pt = Pattern.compile("(d{2})/([^&]*)/d{4}:d{2}:d{2}:d{2}"); Matcher mt = pt.matcher(timeStr); while(mt.find()){ //找到时间串 time=mt.group(); System.out.println("------time-------" +mt.group()); //DateUtils.parseDate(time,format); SimpleDateFormat sdf = new SimpleDateFormat("d/MMM/yyyy:K:m:s",Locale.ENGLISH); SimpleDateFormat sdfnew = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date d2 = null; try { d2 = sdf.parse(time.trim()); } catch (ParseException e) { e.printStackTrace(); } System.out.println(d2); System.out.println(sdfnew.format(d2)); }
--------------------------------------------------------------------- (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|