正则表达式(知识点总结)

re

正则表达式本身是一种小型的,高度专业化的编程语言,而在python中,通过内嵌集成re模块,程序员们可以直接调用来实现正则匹配。正则表达式被编译成一系列字节码,然后由C编写的匹配引擎执行。

正则表达式字符及含义

普通字符匹配的含义
.匹配任意除换行符’\n’以外的字符
\转义字符,使后一个字符改变原来的意思
*匹配前一个字符0次或者多次
+匹配前一个字符1次或者多次
匹配一个字符0次或者1次
^匹配字符串开头。在多行模式中匹配每一行的开头
$匹配字符串末尾,在多行模式中匹配每一行的末尾
|或。匹配|左右表达式任意一个,从左到右匹配,如果|没有在括号中,则它的范围是整个正则表达式
{}{m}匹配前一个字符m次,{m,n}匹配前一个字符m~n次,若省略n则表示匹配m至无限多次
[]字符集。对应的位置可以是字符集中任意字符。字符集中的字符可以逐个列出,也可以给出范围,如[ab] [a-z][^ab]等
()被括起来的表达式将作为分组,从表达式左边开始,每遇到一个分组的左括号 ,编号加+,分组表达式作为一个整体,可以后接数量词。表达式中|仅在该组中有效

预定义字符

预定义字符匹配的含义
\d数字:【0-9】
\D非数字:【^0-9】
\s匹配任何空白字符:【空格,\r, \n, \f, \v, \t】
\S匹配任何非空白字符及匹配特殊字符
\A匹配字符串开头同^
\Z匹配字符串结尾同$
\w匹配数字字母下划线在内的任意字符
\W匹配特殊字符
\b匹配\w和\W之间既匹配单词边界匹配一个单词边界,单词和空格之间的位置
\B【^\b】

特殊分组用法

  1. 命名分组法
 (?P<name>正则表达式) #name是一个合法的标识符
  1. 后向引用
 (?P=name) #name是一个合法的标识符
  1. 前项肯定断言
 (?P=pattern) 
  1. 后项肯定断言
 (?P<=pattern) 
  1. 前项否定断言
 (?!pattern) 
  1. 后项否定断言
 (?<!pattern) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值