• JAVA练习题38:正则表达式基本练习


    正则表达式知识点:点这里跳转

    使用正则表达式完成如下需求

    需求:

    1. 编写正则表达式验证用户输入的手机号码是否满足要求
    2. 编写正则表达式验证用户输入的邮箱号是否满足要求
    3. 编写正则表达式验证用户输入的电话号码是否满足要求
    4. 举例:
      1. 验证手机号码 13112345678   13712345667 13945679028   139654790273
      2. 验证座机电话号码 020–2324242 02122422   027-42424 0712-3242434
      3. 验证邮箱号码 3232323@qq.com   zhangsan@itcast.cnn   dlei0009@l63.com dlei0009@pci.com.cn

    核心思想:拿着一个正确的数据,从左到右依次去写

    public class FTest {
        public static void main(String[] args) {
            /*
             * 使用正则表达式完成如下需求
             * 需求:
             *      1.编写正则表达式验证用户输入的手机号码是否满足要求
             *      2.编写正则表达式验证用户输入的邮箱号是否满足要求
             *      3.编写正则表达式验证用户输入的电话号码是否满足要求
             * 举例:
             *      验证手机号码      13112345678     13712345667             13945679028         139654790273
             *      验证座机电话号码  020--2324242     02122422               027-42424           0712-3242434
             *      验证邮箱号码      3232323@qq.com   zhangsan@itcast.cnn    dlei0009@l63.com    dlei0009@pci.com.cn
             * */
    
            //核心思想:拿着一个正确的数据,从左到右依次去写
    
            //1.手机号码
            //13112345678   共11位
            //分成三部分:
            //第一部分:1  表示手机号码只能以1开头
            //第手机号码第二位只能是3-9之间的数字
            //第三部分:\\d{9}  表二部分:[3-9]  表示示任意数字可以出现9次,也只能出现9次
            String regex1 = "1[3-9]\\d{9}";
            System.out.println("13112345678".matches(regex1));   //true
            System.out.println("13712345667".matches(regex1));   //true
            System.out.println("13945679028".matches(regex1));   //true
            System.out.println("139654790273".matches(regex1));   //false
    
            System.out.println("----------------------------");
    
            //2.座机号码
            //020--2324242     02122422               027-42424           0712-3242434
            //思路:
            //在书写座机号正则的时候需要把正确的数据分为三部分
            //一:区号  0\\d{2,3}
            //          0:表示区号一定是以0开头的
            //          \\d{2,3}:表示区号从第二位开始可以是任意的数字,可以出现2到3次
            //二:-     ?表示次数,0次或1次
            //三:号码   号码的第一位也不能以0开头,从第二位开始可以是任意的数字,号码的总长度为:5-10位
            String regex2 = "0\\d{2,3}-?[1-9]\\d{4,9}";
            System.out.println("020-2324242".matches(regex2));   //true
            System.out.println("02122422".matches(regex2));       //true
            System.out.println("027-42424".matches(regex2));      //true
            System.out.println("0712-3242434".matches(regex2));    //true
    
            System.out.println("----------------------------");
    
            //3.邮箱号码
            //3232323@qq.com   zhangsan@itcast.cnn    dlei0009@l63.com    dlei0009@pci.com.cn
            //思路
            //在书写邮箱号码正则的时候需要把正确的数据分为三部分
            //第一部分:@的左边  \\w+
            //         任意的字母数字下划线,至少出现一次就可以了
            //第二部分:@  只能出现一次
            //第三部分:
            //    3.1    .的左边 [\\w&&[^_]]{2,6}
            //           任意的字母加数字,总共出现2-6次(此时不能出现下划线)
            //    3.2    .要写成\\.才行
            //    3.3    大写字母,小写字母都可以,只能出现2-3次  [a-zA-Z]{2,3}
            //    我们可以把3.2和3.3看成一组,这一组可以出现1次或者两次
            String regex3 = "\\w+@[\\w&&[^_]]{2,6}(\\.[a-zA-Z]{2,3}){1,2}";
            System.out.println("3232323@qq.com".matches(regex3));       //true
            System.out.println("zhangsan@itcast.cnn".matches(regex3));      //true
            System.out.println("dlei0009@l63.com".matches(regex3));        //true
            System.out.println("dlei0009@pci.com.cn".matches(regex3));      //true
            String a = "";
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
  • 相关阅读:
    湖南湘菜 7页面 美食主题 带设计说明 美食网页设计制作 HTML美食网页成品 美食网页成品 HTML美食网页设计
    【C++】顺序表 链表 栈练习题第三弹来啦(每日小细节008)
    KnowStreaming贡献流程
    springboot对接postgres
    基于C++的开源库dxflib 解析dxf文件
    精品Python商铺摊位租赁管理系统
    DAY04 HTML&CSS
    Linux命令之find
    【React】6、图文详解react组件生命周期——React v16.8
    4Spring及Spring系列-基本
  • 原文地址:https://blog.csdn.net/m0_46457497/article/details/128137545