菜鸟看java之正则表达式练习:验证邮箱。
2014-10-13 20:17
344 查看
正则表达式是拿来干嘛的?
它是验证字符串,操作字符串的一个非常简单的工具。它是一个简化操作的工具,如果能熟练使用它,那么你写的代码将会大大减少!高手必备啊。
如何使用正则表达式?
1.定义验证规则
2.实例化Pattern类//或者可以直接使用String类的方法不用实例化Pattern
3.实例化Matcher类
4.操作。
练习一:编写一个程序,检测用户输入的是否是一个邮箱。
关于正则使用的关键:
个人认为,正则使用的关键在于对验证规则的定义,掌握了定义验证规则,那么对于正则的使用,也就开始登堂入室了。后面的对匹配到的字符的操作,其实都是差不多系统化的操作了,都是比较简单。
那么问题来了!如何定义验证规则?
1.观测得出你想要匹配的字符串的规律是什么。
例如,你想匹配验证一个简单的ip那么ip有什么规律呢?是xxx.xxx.x.xxx(四个数字三个.\\\\其中一般来说第一个数字都是3位的且以1开头,其他是1-3位。)那么我们就可以得到验证规则:“1[0-9]{2}\.([0-9]{1,3}\.){2}[0-9]{1,3}”
下面解析一下这个验证规则:{2}表示有两个,\.表示小数点.([0-9]{3}\.)里的[0-9]{0,3}\.就是三个数字加一个点如555. {2}表示有2个这样的字符,然后有3个数字。整体就可以匹配155.555.555.555,或155.5.5.5这样的ip;
2.利用正则里的语法,把你所观察到的规则表达出来!
下面是java中正则中的一些定义验证规则的语法(必须要看的懂理解懂)
【引用自java开发实战经典(名师讲坛)张兴华】
还有更多的有关知识,我暂时不能一一的列举出来。。希望各位能稍稍自己找一找。
正则表达式,看起来很简单。。可是你去百度一下,,你会发现居然会有专门介绍正则的书籍!!!!
所以,好好学习吧,每个知识,想达到高深的境界,需要付出很多的努力哦!
如果你觉得这些东西激发了你对正则表达式的兴趣,那么我会很高兴的啦~~~~
不过明显这里的知识并不足已让你学到更深入的知识,可以自行去学习更多关于它的知识哦~
这里有一个比较好的有很多规范实例
http://www.cnblogs.com/elleniou/archive/2012/07/31/2617312.html
你也可以去看看的哦~
它是验证字符串,操作字符串的一个非常简单的工具。它是一个简化操作的工具,如果能熟练使用它,那么你写的代码将会大大减少!高手必备啊。
如何使用正则表达式?
1.定义验证规则
2.实例化Pattern类//或者可以直接使用String类的方法不用实例化Pattern
3.实例化Matcher类
4.操作。
练习一:编写一个程序,检测用户输入的是否是一个邮箱。
/* 验证规则:^表示开头,开头的http:\\和www.可有可无,所以要加? 后跟(字母数字下划线)一个以上所以用\\w+ 然后是@(必须有)和后缀修饰(有很多,一般2个小写字母以上)所以用[a-z]{2,} 结尾标志$ 总结为:^[http:\\]?[www.]?\\w+@\\w+\\.[a-z]{2,}$ */ import java.util.regex.Pattern; import java.util.regex.Matcher; class TestEmailDemo{ public static void main(String args[]){ String ts1 = "755293352@qq.com"; //测试字符串1 String ts2 = "yahoo.com"; /测试字符串2 String pat = "^[http:\\]?[www.]?\\w+@\\w+\\.[a-z]{2,}$"; //定义验证规则 Pattern p = Pattern.compile(pat); //实例化Pattern类 Matcher m1 = p.matcher(ts1); //实例化Matcher类 Matcher m2 = p.matcher(ts2); //实例化Matcher类 if(m1.matches()){ //使用正则验算 System.out.println("字符串:"+ts1+"是一个邮箱地址。"); }else{ System.out.println("字符串:"+ts1+"不是一个邮箱地址。"); } if(m2.matches()){ //使用正则验算 System.out.println("字符串:"+ts2+"是一个邮箱地址。"); }else{ System.out.println("字符串:"+ts2+"不是一个邮箱地址。"); } } }
<pre name="code" class="java">/* 输出结果: 字符串:755293352@qq.com是一个邮箱地址。 字符串:yahoo.com不是一个邮箱地址。 */
关于正则使用的关键:
个人认为,正则使用的关键在于对验证规则的定义,掌握了定义验证规则,那么对于正则的使用,也就开始登堂入室了。后面的对匹配到的字符的操作,其实都是差不多系统化的操作了,都是比较简单。
那么问题来了!如何定义验证规则?
1.观测得出你想要匹配的字符串的规律是什么。
例如,你想匹配验证一个简单的ip那么ip有什么规律呢?是xxx.xxx.x.xxx(四个数字三个.\\\\其中一般来说第一个数字都是3位的且以1开头,其他是1-3位。)那么我们就可以得到验证规则:“1[0-9]{2}\.([0-9]{1,3}\.){2}[0-9]{1,3}”
下面解析一下这个验证规则:{2}表示有两个,\.表示小数点.([0-9]{3}\.)里的[0-9]{0,3}\.就是三个数字加一个点如555. {2}表示有2个这样的字符,然后有3个数字。整体就可以匹配155.555.555.555,或155.5.5.5这样的ip;
2.利用正则里的语法,把你所观察到的规则表达出来!
下面是java中正则中的一些定义验证规则的语法(必须要看的懂理解懂)
【引用自java开发实战经典(名师讲坛)张兴华】
还有更多的有关知识,我暂时不能一一的列举出来。。希望各位能稍稍自己找一找。
正则表达式,看起来很简单。。可是你去百度一下,,你会发现居然会有专门介绍正则的书籍!!!!
所以,好好学习吧,每个知识,想达到高深的境界,需要付出很多的努力哦!
如果你觉得这些东西激发了你对正则表达式的兴趣,那么我会很高兴的啦~~~~
不过明显这里的知识并不足已让你学到更深入的知识,可以自行去学习更多关于它的知识哦~
这里有一个比较好的有很多规范实例
http://www.cnblogs.com/elleniou/archive/2012/07/31/2617312.html
你也可以去看看的哦~
相关文章推荐
- java正则表达式验证IP,邮箱类
- 用java正则表达式验证字符串(邮箱与网址)
- 用java正则表达式验证字符串(邮箱与网址)
- 正则表达式 - java验证IP地址 - java验证日期时间,解决润月 - java验证邮箱格式
- 用java正则表达式验证字符串(邮箱与网址)
- java正则表达式验证邮箱,ip地址,电话号码
- ------------------java正则表达式验证邮箱、手机号码
- java正则表达式验证邮箱、IP地址、手机号码
- java笔记--正则表达式的运用(包括电话,邮箱验证等)
- java正则表达式验证邮箱、IP地址、手机号码
- java关于正则表达式验证邮箱
- java正则表达式验证IP,日期和邮箱格式有效性
- java正则表达式验证手机号码ip,邮箱
- java 正则表达式 验证邮箱
- java正则表达式验证邮箱、IP地址、手机号码
- java正则表达式验证邮箱、IP地址、手机号码
- JAVA、JS中验证身份证号码、手机号码、电子邮箱的正则表达式
- 正则表达式 验证邮箱地址(替换功能的练习)
- Java验证邮箱和手机号码正则表达式
- java正则表达式验证邮箱、IP地址、手机号码