正则表达式

4 篇文章 0 订阅

正则表达式
1,字符
“\bword\b”:单词的开头或者结尾
.:匹配除了换行符的任意字符
*:前面的内容可以连续重复任意次使得整个表达式被匹配
.*:匹配任意数量不换行的字符
\s:表示匹配任意空白字符,包括空格,制表符,换行符
\S:匹配除\s以外
^:匹配字符串的开始
$:匹配字符串的结束
\w:匹配数字,字母,下划线和汉字
\d:数字
\D:非数字

2转义字符
".","\","*"必须写成‘.’、'\\','\*'

3 重复
* 零次或者多次
+ 一次或者多次
? 0次或者1次
{n} n次
{n,m} n到m此

字符集合

[abcd]表示匹配abcd任意一个
[a-z0-9A-Z] 等同于‘\w'
[.?!]匹配'.','、','!'

分支条件
正则表达式中可以使用|来表示分支条件,当满足一个分支条件是就不在匹配下面分支的条件,
匹配分支条件是从左往右匹配

分组
把单独的项目进行分组,以便合成子表达式,这样就可以像处理一个单独的字符那样,对其应用|、+、*或者?等元字符来操作它们。

反义
[^a]除a以外的任意字符
\W:非字母,数字,下划线,汉字
\S::非空白字符
\D:非数字
\B:匹配不是单词开头或者结束的位置

后向引用

分组有编号,使用(?<name>\d)指定组名
分组形式
捕获:(exp)
     (?<name>\d)
     (?:exp)
零宽断言 (?=exp)匹配exp前面的位置
         (?<=exp)匹配exp后面的位置
        (?!exp)匹配后面跟的不是exp的位置
        (?<!exp)匹配前面不是exp的


python与正则
反斜杠:python里正则表达式使用一个反斜杠在编程语言里需要使用4个反斜杠
可以使用转义r'\'表示一个反斜杠
re模块
compile函数,它将一个正则表达式的字符串转化为Pattren匹配对象。
pattern=re.compile(str),它将一个正则表达式的字符串转化为pattern匹配对象
re.match(pattern,string[,flags])
从传入的参string开始匹配,一直向后匹配
flags参数:
re.I":忽略大小写
re.M:多行模式,改变^和$的行为
re.S:点任意匹配模式,改变.的行为
group()可以获取到捕获的值
re.search(pattern,string[,flags])
会扫描整个string,
re.split(pattern,string[,maxsplit])
maxsplit是指最大的分割数
re.findall(pattern,string[,flags])和 re.finditer(pattern,string[,flags])
会扫描整个string,查找全部
re.sub(pattren,repl,string[,count])替换
re.subn(pattren,repl,string[,count])返回替换次数

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值