博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
正则表达式
阅读量:5156 次
发布时间:2019-06-13

本文共 2208 字,大约阅读时间需要 7 分钟。

  提到正则表达式相信很多有过JSP开发经历的都会很熟悉,当我们需要的到用户的输入信息时,常常需要判断用输入的格式是否正确,这时稍微有点经验的开发者都会不约而同的想到正则表达式,因为正则表达式在表单验证时的便利,使得其成为了JSP开发必不可少的组成部分。

  闲话少说,接下来直奔主题,近期因为开发项目的需要,b/s端建设过程中,需要用户输入一些表单内容,因此把我刚刚整理好的正则表达式复习笔记和大家分享一下。

  正则表达式相当于一门语言,他有自己的格式和要求,接下来就让我们一起从新温习一下吧。

  为了输出的方便,我们首先定义一个输出方法:

public static void p(Object o){		System.out.println(o);	}

 下面就是我们熟悉的正则表达式了:

//Matcher:代表匹配还是不匹配				//"[a-z]{3}":表示a-z之间的三个字符串		Pattern patten = Pattern.compile("[a-z]{3}");		Matcher m = patten.matcher("abc");		p(m.matches());		p("abc".matches("[a-z]{3}"));

 

p("a".matches("."));	    	p("aa".matches("aa"));		p("aaaa".matches("a*"));//"x*":代表字符串中只含有0个或多个"x"		p("aaaa".matches("a+"));//"x+":代表字符串中只含有一个或多个"x"		p("aaaa".matches("a?"));//"x?":代表字符串中只含有1个或0个x		p("aaaa".matches("a*"));		p("aaaa".matches("a+"));		p("aabb".matches("a*"));		p("aabb".matches("a+"));		p("13232441".matches("\\d{3,20}"));//"{}":代表包含的字符的数目		p("127.134.0.23".matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"));		p("127.134.0.aaa".matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"));		p("193".matches("[1-3][1-9][1-5]"));//"[]":代表在[]中选择		p("493".matches("[1-3][1-9][1-5]"));

 关于正则表达式如何匹配范围:

p("a".matches("[abc]"));		p("a".matches("[^abc]"));				//以下三种写法同义		p("A".matches("[a-zA-Z]"));		p("A".matches("[a-z]|[A-Z]"));		p("A".matches("[a-z[A-Z]]"));				p("R".matches("[A-Z&&[RFG]]"));//代表A-Z之间的RFG中的一个字符		p("R".matches("[RFG]"));

 关于正则表达式

/*		 * 认识\s \w \d		 * \d:代表[0-9]之间的一位数字		 * \D:代表[^0-9] 指的是不属于0-9之间的一位字符		 * \w:代表[a-zA-Z_0-9]之间的一位字符		 * \s:代表一位转义字符如:\n \t \x \f \r 空格...		 */		/*p(" \n\r\t".matches("\\s{4}"));		p(" ".matches("\\S"));		p("a_8".matches("\\w{3}"));		p("abc888&^#%".matches("[a-z]{1,3}\\d+[&^#%]+"));		p("\\".matches("\\\\"));*/				/* 		 *边界匹配		 *"^":代表一行的开始		 *"$":代表一行的结尾		 */		/*p("hello sir".matches("^h.*"));		p("hello sir".matches(".*ir$"));		p("hello sir".matches("^h[a-z]{1,3}o\\b.*"));//"/b":代表单词的边界		p("hellosir".matches("^h[a-z]{1,3}o\\b.*"));*/				//换行符匹配		//p(" \n".matches("^[\\s&&[^\\n]]*\\n$"));//^[\\s&&[^\\n]]:表示开头是转义字符但不是换行符				//Email匹配		p("anquanxiehui@qq.com".matches("[\\w[.-]]+@[\\w[.-]]+\\.[\\w]+"));

 看到这里相信大家都已经对正则表达式有了认识,相信大家会在以后的开发中经常用到,最后,本文如有不妥的地方请留言,谢谢。

转载于:https://www.cnblogs.com/AndroidJotting/p/RegExp.html

你可能感兴趣的文章
Kolya and Tandem Repeat
查看>>
轻量级过程改进项目启动
查看>>
让我们来谈谈合并排序算法
查看>>
数据挖掘十大经典算法(9) 朴素贝叶斯分类器 Naive Bayes
查看>>
C# 通过Exchange server 发送邮件
查看>>
ORACLE EXP命令
查看>>
多态应用-打印商品价格案例
查看>>
ng-option小解
查看>>
Appium appium android 6.0+ 微信 @driver.available_contexts 返回 webview_undefined 问题
查看>>
(转)运维角度浅谈MySQL数据库优化
查看>>
C#面向对象基础(四) 静态成员与实例成员
查看>>
.net项目进不去后台解决
查看>>
【译文】用Spring Cloud和Docker搭建微服务平台
查看>>
js中的引用类型-object
查看>>
ssh整合思想
查看>>
redis持久化
查看>>
【Python3爬虫】微博用户爬虫
查看>>
网络工程师(2) 操作系统
查看>>
红黑树-想说爱你不容易
查看>>
flex if(a is b){},flex if(a as b){} 意思
查看>>