正则表达式

正则表达式

  1. 正则表达式 -> 校验、匹配
  2. 密码要求 英文、数字,并且不能少于8位,也不能多于20位

​ 正则表达式其实就是一个字符串 [a-zA-Z0-9]{8,20} -> 左包含右不包含

  1. 转义字符是 \配合字符使用的,如果想表示字符本身,需要加\+,同C语言一样
  2. 正则表达式的三个重要方法(了解,掌握split)

matches

看是否符合正则表达式

 String email="hz_liuzb@163.com";

        //要求输入的必须是163或者126邮箱
        //6~18个字符,可以是字母/数字/下划线,需要以字母开头
        //[a-zA-Z]\w{5,17}@(163|126)\.com
        // (单杠在下面会自动加多条杠,因为在字符串中\w会以为是转义字符,但是\w表示的是单词字符串
        String regex="[a-zA-Z]\\w{5,17}@(163|126)\\.com";
        System.out.println(email.matches(regex));//看是否符合正则表达式(regex)//true

replceAll

replaceAll —>屏蔽敏感词汇的

//replaceAll屏蔽敏感词汇的
String words="你这个SB,gSBjgSBwgSB";
//(SB)+  +可以表示前面的一个或多个,*可以表示前面的0个或多个
String newWords=words.replaceAll("(SB)+","??");
System.out.println(newWords);//你这个??,g??jg??wg??
//如果换成*,打印出??你??这??个????,??g????j??g????w??g????

split

用于切割字符串

str.split("\\.+");//按照符号.切割字符串,后面也有的用+
 /*
    按照.来切割字符串
    .在正则中表示任意字符,所以用\\.来使其变成普通的.
    如果192.....168..456这种格式,则\\.+
 */
        public static void function3(){
            String str="192.168.255.67.01";
            String[] strArr=str.split("\\.+");
            System.out.println("数组长度为:"+strArr.length);
            for (int i=0;i<strArr.length;i++){
                System.out.print(strArr[i]+",");
            }
        }
  /*
     按照空格切割字符串
  */
        public static void function2(){
            String str="qw er 78 45 96 yu";
            String[] strArr=str.split(" +");
            System.out.println("数组的长度为:"+strArr.length);
            for (int i=0;i<strArr.length;i++){
                System.out.print(strArr[i]+",");
            }
            System.out.println();
        }
  /*
     String 类方法split对字符串进行切割
     12-45-78-96 按照-对字符串进行切割
  */
        public static void function1(){
            String str="12-45-78-96";
            String[] strArr=str.split("-");
            for (int i=0;i<strArr.length;i++){
                System.out.print(strArr[i]+",");
            }
            System.out.println();
        }
}

字符说明

1.句点符号.

  • “.”:能匹配处“\n”之外的任何单个字符
  • 若要匹配,则"[.\n]"的模式
  • 常用与匹配多个之间夹一个,或多个缺一个的匹配,如"w.n",可以匹配“won”,“win”,“wan”

2.方括号[]

  • 里面指定可以匹配的单个字符

3.圆括号()

  • 里面的可以用来分组

4.或运算 |

  • 使用(168|360)——只能从160、360中选一个——不能用[]

5.特殊字符及匹配次数的符号

  1. 正则表达式说明正则表达式说明
    .任意一个字符X?表示0个或1个X
    \d任意一个数字字符,[0-9]X*表示0个或任意个X
    \D非数字字符X+表示1个或任意个X
    \s空白字符,[\t\n\xOB\f\r]X{n}表示n个X
    \S非空白字符X{n,}表示>=n个X
    \w单词字符,[a-zA-Z0-9]X{n,m}表示n个到m个X
    \W非单词字符\w{9}表示只能有九个字符,且一定要是单词字符(字母、数字、下划线)

6.连字符 -

  • 表示范围——要加-

7.开始"^"——用在[^X][a-z]+ 表示不匹配除了X开头的所有单词

8.结束"$"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值