正则表达式知识详解系列,通过代码示例来说明正则表达式知识
示例功能:
1、将手机号部分数字替换成*
2、给url增加超链接a标签
3、更改日期格式
/**
* 替换
* @date 2016-04-20 18:09:00
* @author sgl
*/
public static void replace(){
System.out.println("------将数字替换成*--------");
String str="2013hello04world20";
//将数字替换成*
System.out.println(str.replaceAll("\\d","*"));
//将连续的数字替换成*
System.out.println(str.replaceAll("\\d+","*"));
//将手机号后四位替换成*
System.out.println("------将手机号后四位替换成*--------");
str="15200001111";
System.out.println(str.replaceAll("\\d{4}$","****"));
Pattern p=Pattern.compile("\\d{4}$");
Matcher m=p.matcher(str);
System.out.println(m.replaceAll("****"));
//给链接地址增加a标签转换成超链接
System.out.println("--------给链接地址增加a标签转换成超链接---------");
str="http://www.baidu.com,http://www.google.com";
//下面这个正则只是针对上面两个网址举例使用,因此这里不考虑复杂的网址
p=Pattern.compile("(http://www\\..*?\\.com)");
m=p.matcher(str);
while(m.find()){
System.out.println(m.group()+" 位置:["+m.start()+","+m.end()+"]");
}
//$1表示正则表达式里的第一个分组,$2表示第二个分组,依此类推
System.out.println(m.replaceAll("$1"));
//日期格式调整成yyyy-MM-dd格式
System.out.println("-----日期格式调整成yyyy-MM-dd格式------");
str="我的生日是01/21/2001,你的生日是10/15/1999";
p=Pattern.compile("(\\d{1,2})/(\\d{1,2})/(\\d{4})");
m=p.matcher(str);
while(m.find()){
System.out.println(m.group()+" 位置:["+m.start()+","+m.end()+"] 年:"+m.group(3)+" 月:"+m.group(1)+" 日:"+m.group(2));
}
System.out.println(m.replaceAll("$3-$1-$2"));
//把手机号中间几个数字替换成*
System.out.println("----把手机号中间几个数字替换成*-----");
str="15200001111,13932333232";
p=Pattern.compile("(\\d{3})(\\d{4})(\\d{4})");
m=p.matcher(str);
System.out.println(m.replaceAll("$1****$3"));
}
运行结果:
------将数字替换成*--------
****hello**world**
*hello*world*
------将手机号后四位替换成*--------
1520000****
1520000****
--------给链接地址增加a标签转换成超链接---------
http://www.baidu.com 位置:[0,20]
http://www.google.com 位置:[21,42]
http://www.baidu.com,http://www.google.com
-----日期格式调整成yyyy-MM-dd格式------
01/21/2001 位置:[5,15] 年:2001 月:01 日:21
10/15/1999 位置:[21,31] 年:1999 月:10 日:15
我的生日是2001-01-21,你的生日是1999-10-15
----把手机号中间几个数字替换成*-----
152****1111,139****3232
相关文章
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250