加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式学习笔记

发布时间:2020-12-13 23:06:28 所属栏目:百科 来源:网络整理
导读:只能输入正数:^([0-9]*)$ 只允许输入正整数(不包括0):^[0-9]*[1-9][0-9]*$ 只允许输入正数,负数,小数的正则表达式 : ^(-|+)?d+(.d+)?$ 价格输入框的正则表达式:^(+)?d+(.d+)?$ 只允许英文字母、数字、下划线:/^[u4E00-u9FA5a-zA-Z0-9_]{0,

只能输入正数:^([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&sectionID=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));
}

---------------------------------------------------------------------

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读