黑马程序员_正则表达式
来源:互联网 发布:centos bugzilla安装 编辑:程序博客网 时间:2024/06/18 08:02
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
一、qq号码验证
对qq号码进行验证,要求qq号码符合三个条件1,5~15位,2,不能以0开头,3,只能是数字。
1,普通验证
public class CheckQQ {public static void main(String[] args) {String qq = "23343434";check_qq(qq);}private static void check_qq(String qq) {if(qq.length()>=5&qq.length()<=15){if(!qq.startsWith("0")){try{Long l = Long.parseLong(qq);System.out.println(l+"is ok");}catch (Exception e){System.out.println("非法字符");}}else{System.out.println("不能以0开头");}}else{System.out.println("长度错误");}}}//打印23343434is ok
2,采用正则表达式的方式
public class CheckQQ {public static void main(String[] args) {String qq = "23345434";check_qq(qq);}private static void check_qq(String qq) {String regex = "[1-9][0-9]{4,14}";boolean flag = qq.matches(regex);if(flag){System.out.println(qq+"is ok");}else{System.out.println("不存在");}}}//打印23345434is ok
通过两个程序可以看出,普通方式需要使用大量的ife-lse语句依次对每个条年进行判断,而使用正则表达式判断要简洁多。因此正则表达式用于处理字符串更加灵活。
二、正则表达式
符合一定规则的表达式,专门用于操作字符串,简化字符串操作
1,正则表达式的常见规则
private static void check_matches() {String email = "shisong@163.com";String regex = "[a-zA-Z_0-9]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+"; boolean b = email.matches(regex); System.out.println(b);}
public static void method_split(){String str = "192 168 3 123";String[] arr = str.split("(.)\\1+");for(String s : arr){System.out.println(s);}}//打印:192,168,3,123
public static void method_split(){String str = "abqqqqqcdettfdhhgtnssth";//正则组,()专门处理叠词String[] arr = str.split("(.)\\1+");for(String s : arr){ System.out.println(s);}}//打印结果:ab,cde,fd,gtn,th
public static void method_replaceAll(){ String str = "helllowssorrrrrld"; String s = str.replaceAll("(.)\\1+","$1"); System.out.println(s);}//打印:helowsorld
1.3,正则对象与要操作的字符串匹配,获取搜索引擎
2.2,封将正则封装成对象:Pattern p = Pattern.compile(reg)
public static void method(){ String str = "wo de jia zai yuan fang ni mei qu guo";//找出3个字母的单词//预编译正则String reg = "\\b[a-zA-Z]{3}\\b";Pattern p = Pattern.compile(reg);//正则规则,匹配字符串Matcher m = p.matcher(str);while(m.find()){System.out.println(m.group());}}//打印结果:jia,zai,mei,guo
2,利用URLConnection建立 资源连接
import java.net.*;import java.util.regex.*;import java.io.*;class CatchEmail {public static void main(String[] args) throws Exception{String reg = "[a-zA-Z_0-9]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+";URL url = new URL("http://www.taobao.com");//开启连接URLConnection conn = url.openConnection();BufferedReader bfr = new BufferedReader(new InputStreamReader(conn.getInputStream()));String line = null;while((line = bfr.readLine())!=null){ Pattern p = Pattern.compile(reg);Matcher m = p.matcher(line);while(m.find()){System.out.println(m.group());}}}}
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
详细请查看:<a href="http://edu.csdn.net" target="blank">http://edu.csdn.net</a>
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_ 正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- 图像处理:基础(模板、卷积运算)
- How to create a GUID / UUID in Javascript?
- c/c++常用算法(11) -- 基本排序算法(插入排序)
- PIL 中的 Image 模块
- C++经典面试题
- 黑马程序员_正则表达式
- Linux下memcached安装和启动方法
- C# 窗体之间值传递
- 漫话Linq——Linq To XML
- 正则表达式语法
- 正则表达式
- ARM Linux 交叉调试工具及方法
- JUnit入门
- 解决delphi XE5中使用RESTClient提交Body类型的乱码问题