菜鸟看java之正则表达式练习:验证邮箱。
来源:互联网 发布:007pipi最新域名升级 编辑:程序博客网 时间:2024/06/11 01:52
正则表达式是拿来干嘛的?
它是验证字符串,操作字符串的一个非常简单的工具。它是一个简化操作的工具,如果能熟练使用它,那么你写的代码将会大大减少!高手必备啊。
如何使用正则表达式?
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";//测试字符串1String ts2 = "yahoo.com";/测试字符串2String 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之正则表达式练习:验证邮箱。
- 正则表达式之邮箱验证
- java 正则表达式 验证邮箱
- java 正则表达式 验证邮箱
- JAVA 邮箱验证正则表达式
- Java杂谈之正则表达式--日期,邮箱,数字验证
- java关于正则表达式验证邮箱
- java正则表达式验证手机号码ip,邮箱
- java正则表达式验证IP,邮箱类
- java正则表达式验证手机号码ip,邮箱
- java正则表达式验证手机号码ip,邮箱
- java正则表达式验证邮箱、手机号码
- ------------------java正则表达式验证邮箱、手机号码
- Java验证邮箱和手机号码正则表达式
- java正则表达式验证邮箱、电话号码示例
- java利用正则表达式验证邮箱
- Java正则表达式及验证邮箱
- java简单的正则表达式验证邮箱
- ELF文件格式分析--结构篇
- jvm调优监控杂绘
- stm32固件库模板的建立
- word符号代码——替换功能的终结奥义
- 离散傅里叶变换----解释的最透彻的|包括定义物理意义
- 菜鸟看java之正则表达式练习:验证邮箱。
- Ubuntu 14.04 adb 没有那个文件或目录
- 傅里叶变换的应用
- 计算概论(A) / 结构体与链表练习
- 使用 python 读写中文json
- CVTE2015校园招聘 Android 开发笔试
- (转载)嵌入式Linux内核I2C子系统详解
- Android系统默认Home(Launcher)的启动过程小结
- C语言可变参数函数实现原理