正则表达式基础

学习网站

1.正则在线测试网站:https://regexr-cn.com/
2.正则练习:https://codejiaonang.com/

正则常用符号

  1. [] 允许匹配一组可能出现的字符,如’[pP]thon’可以匹配’pthon’、‘Pthon’、‘Ppthon’
  2. - 代表区间,比如[a-z]可以匹配所有小写字母
  3. ^ 代表非集,[^0-9]匹配除了数字以外的任何字符
  4. \w与任意单词字符匹配,任意单词字符表示 [A-Z][a-z][0-9]_
  5. \d 与任意数字匹配
  6. \s快捷方式可以匹配空白字符,比如空格,tab、换行等
  7. \b 匹配的是单词的边界,\bmaster\b 就仅匹配有边界的master单词
  8. 快捷方式也可以取反,例如对于\w的取反为\W
  9. ^ 放在区间外面表示匹配字符串开头
  10. $ 放在字符串后面表示匹配以字符串结尾的字符串
  11. .字符代表匹配任何单个字符,它只能出现在方括号以外,.字符只有一个不能匹配的字符,也就是换行符(\n
  12. ?的作用就是匹配它之前的字符0次或1次。
  13. 在一个字符组后加上{N} 就可以表示在它之前的字符组出现N
  14. {M,N} 在一个字符组后面加上重复区间,M是下界而N是上界,不写上界则可上界匹配无数个
  15. \d{3,4} 既可以匹配3个数字也可以匹配4个数字,不过当有4个数字的时候,优先匹配的是4个数字,这是因为正则表达式默认是贪婪模式,即尽可能的匹配更多字符,而要使用非贪婪模式,我们要在表达式后面加上 ?,则有3个优先匹配3个
  16. +等价于{1,}*等价于{0,}
  17. () 一种将表达式分组的机制,当使用分组时,除了获得整个匹配。还能够在匹配中选择每一个分组,用于提取字符串。
  18. | 或者(or)条件,例如要提取所有图片文件的后缀名,可以在各个后缀名之间加上一个 |符号
  19. (?:表达式) 非捕获分组,不需要提取其内容,但是需要将其分离,有分组的特性
  20. 分组的回溯引用,使用\N可以引用编号为N的分组,也就是之前第N个分组
  21. 正向先行断言:(?=表达式),指在某个位置向右看,表示所在位置右侧必须能匹配表达式
  22. 反向先行断言(?!表达式)的作用是保证右边不能出现某字符
  23. 正向后行断言:(?<=表达式),指在某个位置向左看,表示所在位置左侧必须能匹配表达式
  24. 反向后行断言:(?<!表达式),指在某个位置向左看,表示所在位置左侧不能匹配表达式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值