正则表达式

转载自知乎~https://www.zhihu.com/question/48219401/answer/742444326

正则每次用的时候看一次,下一次就忘记了,看着就头疼哈哈,不过这次感觉还是要手动写一遍才能更好理解和记住。目前只看了一部分,后续再补上

元字符:

字符

说明

举例

.

匹配除换行符以外的任意字符

1.匹配有abc开头的字符串

\babc 或^abc

2.匹配1开头的11位数字的手机号

^1\d\d\d\d\d\d\d\d\d\d$

\w

匹配字母或数字或下划线或汉字

\s

匹配任意的空白符

\d

匹配数字

\b

匹配单词的开始或结束

^

匹配字符串的开始

$

匹配字符串的结束

重复限定符:

字符

说明

举例

*

重复零次或更多次

1.匹配8位数字的QQ号码

^\d{8}$

2,匹配8-10位数字的QQ号码

^\d{8,10}$

3.匹配以a开头,多个b结尾的字符串

^ab*$ abbbb

+

重复一次或多次

重复0次或一次

{n}

重复n次

{n,}

重复n次或多次

{n,m}

重复n次到m次

分组:使用小括号()来做分组

转义:使用\来转义

条件或:使用| 来表示分支条件

区间:限定0-9[0-9],限定某些数字1,3,6[136],[A-Z]

进阶:

1.零宽断言

1.1 正向先行断言

  • 语法:(?=pattern)
  • 作用:匹配pattern表达式的前面内容,不返回本身。

1.2 正向后行断言

  • 语法:(?<=pattern)
  • 作用:匹配pattern表达式的后面的内容不反悔本身

1.3 负向先行断言

  • 语法:(?!pattern)
  • 作用:匹配非pattern表达式前面内容,不返回本身。

1.4 负向后行断言

  • 语法:(?!<pattern)
  • 匹配非pattern表达式的前面内容,不返回本身。

2.捕获和非捕获

捕获通常和分组联系在一起,也就是“捕获组”

2.1 数字编号捕获组

  • 语法:(exp)
  • 作用:从左侧开始,每出现一个左括号和与之对应的右括号间的内容为一个分组,在分组中,第0组为整个表达式,第一组开始为分组
  • 020-85653333
  • (0\d{2})-(\d{8})

3.反向引用

4.贪婪和非贪婪

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值