【黑马程序员】java基础_正则表达式
来源:互联网 发布:南风知我意七微书包网1 编辑:程序博客网 时间:2024/05/22 16:57
------- android培训、java培训、期待与您交流! ----------
正则表达式是一个好东西啊,它能简化代码,并且更直观的可以看出对数据进行了 怎样的处理
今天看了毕老师视频的正则,发现之前各种if 判断数字的方法是多么的繁琐和麻烦
以校验手机号为例,我们使用的手机号码都是11位数的
如果是今天之前,我会这么写代码
import java.io.*;public class RegexDemo {public static void main(String[] args)throws Exception{checkPhone();}public static void checkPhone()throws Exception{BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));String phone = bufr.readLine();char[] arr = phone.toCharArray();if(phone.length()==11){if(arr[0]=='1'){if(arr[1]=='3' || arr[1]=='5' || arr[1]=='8'){boolean flag = false;for(int i=2; i<phone.length(); i++){if(arr[i]<'0' && arr[i]>'9'){flag = false;break;}elseflag = true;}if(flag)System.out.println("phone:"+phone);}elseSystem.out.println("二位不等于3、5、8中的一个");}elseSystem.out.println("首位不等于1");}elseSystem.out.println("长度不正确");}这样显然很麻烦,对一个电话号码的时候合法的判断居然要有这么多。
但是今天之后,我知道了正则表达式,于是我果断将代码改写
import java.io.*;public class RegexDemo {public static void main(String[] args)throws Exception{checkPhone_2();}public static void checkPhone_2()throws Exception{BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));String phone = bufr.readLine();//正则写规则String regex = "[1][358]\\d{9}";boolean flag = phone.matches(regex);if(flag)System.out.println(phone+"...是合法号码");elseSystem.out.println(phone+"...是非法号码");}现在,只需要短短的几行代码就可以省去我之前写的大量判断,并让输入按照我认可的方式进行,同时也阅读性大大增强
嘛,好东西,以后可以多多使用
0 0
- 【黑马程序员】java基础_正则表达式
- 黑马程序员_毕向东JAVA基础_正则表达式
- 黑马程序员_Java基础_正则表达式
- 黑马程序员_Java基础_正则表达式
- 黑马程序员_java基础_正则表达式
- 黑马程序员:Java编程_正则表达式
- 黑马程序员-java基础 正则表达式
- 黑马程序员---java基础之正则表达式
- 黑马程序员----JAVA基础之正则表达式
- 黑马程序员-JAVA基础-正则表达式
- 黑马程序员:Java基础总结----正则表达式
- 黑马程序员 java基础回顾---正则表达式
- <<黑马程序员>>java基础之正则表达式
- 黑马程序员--java基础--正则表达式总结
- 黑马程序员---Java基础总结---正则表达式
- 黑马程序员-----java基础 正则表达式
- 黑马程序员-->Java基础-->正则表达式
- 黑马程序员-java基础之正则表达式
- javascript正则表达式分组的小例子
- poj-3225-Help with Intervals
- 回文字符串判断(栈练习)
- googlecode svn服务器代理设置
- 第十六周自由练习项目——acm C++复数运算符重载(+与<<)
- 【黑马程序员】java基础_正则表达式
- Unable to compile class for JSP 错误的解决过程
- bug 非Activity中使用startActivity
- pkg_info 命令使用方法
- js+jquery动态设置/增加/删除/获取元素属性的两种方法集锦对比(动态onclick属性设置+动态title设置)
- Memcache客户端,随意写的
- 黑马程序员_类的合理设计_基本的属性&对象类型的属性
- 【转】Myeclipse 10.6 导出war问题解决思路
- OC学习4——@property和@synthesize