正则表达式的含义于简介

2019.7.31修改foritfy告警,用户隐私泄露。

1、什么是正则表达式

正则表达式,常用来检索或替换满足一定规则的字符,常称为regular expression,简写为re或regex。正则表达式在处理字符串时功能非常强大和灵活。

简单的说,正则表达式就是处理字符串的方法,它以行为单位来进行字符串的处理操作,正则表达式通过一些特殊符号的辅助,可以让用户轻易地完成【查找、删除、替换】某特定字符串的处理过程。

2. 基本语法

3.1 行首与行尾字符^和$

例1:'^the'表示匹配的字符串以字符the开头

例2:'the$'表示匹配的字符串以字符the结尾

例3:'^$'则匹配空字符串

3.2 字符.(一定有一个任意字符)和字符* ? +(分别表示重复前一个字符0次到无穷多次,重复前一个字符0次或1次,重复前一个字符1到无穷多次)

例1:'g..d'表示g和d之间一定要存在任意两个字符,如good则可以,god不可以

例2:'goo*d'表示god、good、goood等都可以,因【o*】代表没有或多个o字符

例3:'goo+d'表示good、goood等都可以,因【o+】代表至少一个o字符

例4:'goo?d'表示只能匹配god或good,因【o?】代表零个或一个o字符

例5:'g.*d'表示g和d之间可以有任意零个或多个字符均可

例6:贪婪匹配:若用‘a.*b’来搜索aabab的话,会匹配最长以a开始,以b结束的字符串。即aabab

         懒惰匹配:若用‘a.*?b’来搜索aabab的话,会匹配最短以a开始,以b结束的字符串。即aab或ab

3.3 中括号[]查找集合字符,不论有几个字符,它都仅代表某【一个】字符

例1:'t[ae]st'匹配tast或者test

例2:'[A-Za-z0-9]'匹配所有小写字母、大写字母或数字

例3:'[^A-Z]'不匹配A到Z之间所有的大写英文字母

例4:'^[^A-Z]'不匹配以大写英文字母开头的字符串。注:^符号在字符集合符号(括号[])之内与之外是不同的。在[]内代表反向选择,在[]之外则代表定位在行首的意义

3.4 限定连续字符范围{}

例1:'go{2}d'表示good,即o只能有两个

例2:'go{2, 5}d'表示g和d之间有2到5个o

例3:'go{2, }d'表示g和d之间有两个以上的o

3.5 群组字符串()

例1:'g(oo)d'即表示good

例2:'g(la|oo)d'表示glad或者good,其中【|】代表或的意思

例3:'A(xyz)+C'表示AxyzC、AxyzxyzC等都可以

3. 实战经验

参考:https://blog.csdn.net/CCLOVETT/article/details/12448843

着重于引用

pattern.compile(规则).matcher(密码).find();比如规则说的是为数字,那么在密码里只要有规则里面包含的类型那就通过find()方法返回true

后面加group()方法为返回得到的字符串。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值