A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

* A:正则表达式
        * 是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串。其实就是一种规则。有自己特殊的应用。
        * 作用:比如注册邮箱,邮箱有用户名和密码,一般会对其限制长度,这个限制长度的事情就是正则表达式做的
作用:专门用于操作字符串
特点:用一些特定的符号来表示一些代码的操作.这样就简化书写.
所以学正则表达式,就是学习一些特殊符号的使用.
好处:可以简化对字符串的操作
弊端:符号定义越多,正则越长,阅读性越差
* B:案例演示
        * 需求:校验qq号码.
                * 1:要求必须是5-15位数字
                * 2:0不能开头
                * 3:必须都是数字
               
        * a:非正则表达式实现
        * b:正则表达式实现
案例:
  1. package com.heima.regex;
  2. public class Demo_Regex {
  3.         public static void main(String[] args) {
  4.                 System.out.println(checkQQ("012345"));
  5.                 System.out.println(checkQQ("a1b345"));
  6.                 System.out.println(checkQQ("123456"));
  7.                 System.out.println(checkQQ("1234567890987654321"));
  8.                
  9.                 String regex = "[1-9]\\d{4,14}";
  10.                 System.out.println("2553868".matches(regex));
  11.                 System.out.println("012345".matches(regex));
  12.                 System.out.println("2553868abc".matches(regex));
  13.         }
  14.        
  15.         /*
  16.          * 需求:校验qq号码.
  17.          * 1:要求必须是5-15位数字
  18.          * 2:0不能开头
  19.          * 3:必须都是数字
  20.          * 校验qq
  21.          * 1,明确返回值类型boolean
  22.          * 2,明确参数列表String qq
  23.          */
  24.         public static boolean checkQQ(String qq) {
  25.                 boolean flag = true;                //如果校验qq不符合要求就把flag置为false,如果符合要求直接返回
  26.                
  27.                 if(qq.length() >= 5 && qq.length() <= 15) {
  28.                         if(!qq.startsWith("0")) {
  29.                                 char[] arr = qq.toCharArray();        //将字符串转换成字符数组
  30.                                 for (int i = 0; i < arr.length; i++) {
  31.                                         char ch = arr[i];                        //记录每一个字符
  32.                                         if(!(ch >= '0' && ch <= '9')) {
  33.                                                 flag = false;                        //不是数字
  34.                                                 break;
  35.                                         }
  36.                                 }
  37.                         }else {
  38.                                 flag = false;                                        //以0开头,不符合qq标准
  39.                         }
  40.                 }else {
  41.                         flag = false;                                                //长度不符合
  42.                 }
  43.                 return flag;
  44.         }
  45. }
复制代码



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马