美文网首页
正则表达式学习笔记(1)

正则表达式学习笔记(1)

作者: sywaj | 来源:发表于2018-06-23 17:39 被阅读0次

/*
正则表达式就是用于操作字符串的规则。

正则对字符串的常见的操作:

匹配   : matches


切割    :   split()


替换   :   replaceAll(String regex, String replacement) 

*/
public class Demo1 {

public static void main(String[] args) {

// matchPhone("1356082481");
// matchTel("020-318322560");
// splitTest2();
repalce2();
}

/*匹配一个手机号
    手机号码的规则:
        1. 首位必须是1.
        2. 第二位: 3  4 、5 、 7、 8、
        3. 长度 必须是11位
 */
public static void matchPhone(String phone){
    String reg = "1[34578]\\d{9}";
    System.out.println(phone.matches(reg)?"合法手机号":"非法手机号");
    
}

/*
 * 匹配一个固定电话
 *  规则:
 *      区号: 
 *          1. 长度3~4位.
 *          2. 必须以0开头。
 *      主机号:
 *          1.首位不能是0.
 *          2.长度 是: 7~8位            
 */
public static void matchTel(String tel){
    String reg = "0\\d{2,3}-[1-9]\\d{6,7}";
    
    System.out.println(tel.matches(reg)?"合法固话号":"非法固话号");
}


//需求: 根据空格切割。 
public static void splitTest1(){
    String str = "明   天        学                i                 o";
    String reg = " +";
    String[]  datas = str.split(reg);
    System.out.println("数组的元素:"+ Arrays.toString(datas));
}


//需求: 根据重叠词进行切割。
public static void splitTest2(){
    String str = "我要要要成为为高富富富富富富帅";  //  我  成     高   帅
    String reg = "(.)\\1+";  
    /*
    后面的一个正则字符要使用到前面正则匹配的内容。 前面正则的内容需要被复用起来。   如果正则的内容需要被复用,那么就需要进行分组。
    每一个组都有一个编号,编号从1开始。
    */
    String[] datas = str.split(reg);
    System.out.println("数组的元素:"+ Arrays.toString(datas));       
}   


//需求: 把手机号替换成***。     一3五
public static void repalcePhone(){
    String str = "如果有需要请联系:13556084321如果有需要请联系:13556084321如果有需要请联系:13556084321如果有需要请联系:13556084321"
            + "如果有需要请联系:13556084321如果有需要请联系:13556084321如果有需要请联系:13556084321如果有需要请联系:13556084321如果有需要请联系:13556084321";
    
    String reg = "1[34578]\\d{9}";
    str = str.replaceAll(reg, "****");
    System.out.println("帖子的内容:"+ str);
}


//需求: 把重叠词替换成单个字符。
public static void repalce2(){
    String str = "我我我我我要要要成成成成成成为为高富富富富富富帅帅帅帅帅帅帅帅帅帅帅帅帅帅帅帅帅帅帅帅";
    str = str.replaceAll("(.)\\1+", "$1");   //注意引用正则的内容如果不是在一个正则表达式内部,那么需要使用 :  "$组号" 进行引用
    System.out.println(str);
}

}

相关文章

  • 正则表达式学习笔记

    正则表达式学习笔记 一篇记录了学习正则表达式的笔记。 1. 转义字符 在 HTMl 中转义字符以 & 符号开头,分...

  • 学习笔记 正则表达式

    2021.01.19 北京海淀 -2℃ 小雪转晴 正则表达式学习笔记 说明:该笔记参考“菜鸟教程”网站正则表达式...

  • 正则表达式学习笔记

    [TOC] 正则表达式学习笔记 1. cheatsheet 2. 介绍 2.1 character 有时我们希望m...

  • Python学习随笔

    本笔记整理自中谷教育在线教育视频 学习笔记——正则表达式常用符号 这里学习过正则表达式后,简单做了一个爬虫程序,效...

  • python爬虫day-13(正则表达式)

    个人学习笔记,方便自己查阅,仅供参考,欢迎交流 正则表达式 1.简单示例 开源中国提供的正则表达式测试网址:htt...

  • JavaScript正则表达式

    JavaScript 正则表达式 @(笔记)[正则表达式] 第一章 课程简介 1-1 JS正则表达式简介及应用 课...

  • js高级(四)

    JavaScript高级第04天笔记 1.正则表达式概述 1.1什么是正则表达式 正则表达式( Regular E...

  • Python ☞ day 11

    Python学习笔记之 正则表达式 re模块概述:Python自1.5以后增加了re的模块,提供了正则表达式模式...

  • python正则表达式学习拾遗

    本篇学习笔记参考re——正则表达式 所作,不明白之处可以参阅上述的官方文档。因为是个人学习笔记,所以并不会完全介绍...

  • 正则表达式

    python学习笔记-正则表达式 标签 : python 特殊符号和字符 re模块:核心函数和方法

网友评论

      本文标题:正则表达式学习笔记(1)

      本文链接:https://www.haomeiwen.com/subject/wfkdyftx.html