第二十四天正则表达式
来源:互联网 发布:厦门长庚医院网络挂号 编辑:程序博客网 时间:2024/05/21 22:30
1、通过下面的代码,熟悉正则表达式的使用
public static void main(String args[]){
//把字符串中的 “aaa”全部替换为”z” 打印zbzcz
System.out.println(“aaabaaacaaa”.replaceAll(“a{3}”,”z”));
//把字符串的"aaa","aa"或者"a" 全部替换为"*" 打印*b*c* System.out.println("aaabaaca".replaceAll("a{1,3}","\\*")); //把字符串中的数字全部替换为"z" 打印zzzazzbzzcc System.out.println("123a44b35cc".replaceAll("\\d","z")); //把字符串中的非数字全部替换为"0" 打印1234000435000 System.out.println("1234abc435def".replaceAll("\\D","0")); //把字符串中的"."全部替换为"\"打印abc\def\ghi\jk System.out.println("abc.def.ghi.jk".replaceAll("\\.","\\\\")); //把字符串中的"a.b"全部替换为"-","a.b"表示长度为3的字符串,以a开头以b结尾 //打印-hello-lining System.out.println("axbhelloasblining".replaceAll("a.b","-")); //把字符串中的所有词字符替换为"#" //正则表达式"[a-zA-Z_0-9]等价于"\w" //打印#.#.#.#.#. System.out.println("a.b.c.1.2.".replace("\\w","#")); }
2、java中用正则表达式判断字符串是否数字
public static void main(String args[]){
String str=”4566”;
Pattern pattern = Pattern.compile(“[0-9]*”);
Matcher isNum = pattern.matcher(str);
//str是数字返回true
System.out.println(isNum.matches());
//str不为数字返回false str="fdsfds33"; isNum = pattern.matcher(str); System.out.println(isNum.matches());}
3、java验证手机号码
public static void main(String args[]){
//正则手机号码通配符
String tph=”^((13[0-9])|(15[^4,\D])|(18[0,5-9]))\d{8}$”;
Pattern pattern = Pattern.compile(tph);
//java验证手机号码格式 String str="13693347897"; Matcher isNum = pattern.matcher(str); System.out.println(isNum.matches());}
4、编写一个程序,检测用户输入的是否是一个邮箱
思路:验证规则:^表示开头,
后跟(字母数字下划线)一个以上所以用\w+
然后是@(必须有)和后缀修饰(有很多,一般2个小写字母以上)所以用[a-z]{2,}
结尾标志
public static void main(String args[]){
String ts1 = “755293352@qq.com”; //测试字符串1
String ts2 = “yahoo.com”; //测试字符串2
String pat = “^\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+"不是一个邮箱地址。"); }}
5、治疗口吃。
将字符串“我我我我我我我……….我…….要要要要要………………要要要要…学习习习习…….习习习习习习习习编程程程程程程…….程程程程程程程程程”变成“我要学习编程”
思路:先将….去掉:使用”\.+”模式,再将叠词替换成一个:使用”(.)\1+”模式。
public static void main(String args[]){
String str=”我我我我我我我……….我…….要要要要要………………要要要要…学习习习习…….习习习习习习习习编程程程程程程…….程程程程程程程程程”;
//1.先去掉.
String regex=”\.+”;
str=str.replaceAll(regex, “”);
//2.合并叠词。
regex=”(.)\1+”;
str=str.replaceAll(regex, “$1”);
System.out.println(str);
}
- 第二十四天正则表达式
- Day24第二十四天 java基础 -------网络编程 和正则表达式
- 学习python的第四十四天-正则表达式
- 正则表达式第二章
- 正则表达式第二篇
- 正则表达式【第二卷】
- 世界杯第二十四天
- 第二十四天:听课笔记
- 第二十四天:总结
- 星海第二十四天
- 实习日记->第二十四天
- php实战第二十四天
- 实习篇---第二十四天
- Android第二十四天 Service
- 第二十四天 ImageView,AdapterView
- 第二十四天学习笔记
- 第二十四天作业3
- 第二十四天作业2
- 面对对象小结
- 总有你想知道的---Sikuli(1)
- 自定义适配器
- Raytracing 参考资料
- 百练noi 1775:采药
- 第二十四天正则表达式
- python爬虫进阶(二):动态网页爬取
- 如何在windows上将git diff配置成使用Beyond Compare
- 浅析设计模式–(二)装饰者模式
- web第一天
- python 面向对象编程
- LinuxC简谈之输入输出(二)
- 简单的RPC框架的实现
- 腾讯2017暑期实习生编程题(第二道)