Python笔记-正则表达式

1.行定位符

描述子串边界。^表示开始,$表示结束

^ba 匹配以ba开头的字符串
ba$ 匹配以ba结尾的字符串
ba 匹配含有ba的字符串

2.元字符

行定位符也是元字符

.匹配除换行符以外的任意字符
\w匹配字母、数字、下划线或汉字
\W与\w相反
\s匹配当个的空白符(含tab和\n)
\S与\s相反
\d匹配数字
\b匹配单词的开始或结束

如:\bmr\w*\b 匹配以mr开头后面是任意数量的字母或数字,\w*表示的是任意数量的字母或数字。

3.限定符

限定符用来实现匹配指定数量的字符,如上面的*表示匹配多次

?匹配前面的字符0或1次
+匹配前面的字符1或多次
*匹配前面的字符0或多次
{n}匹配前面的字符n次
{n,}匹配前面的字符最少n次
{n,m}匹配前面的字符做少n次,最多m次

4.字符类

如要匹配没有预定义元字符的字符集合,可以用[]罗列起来。比如’[0-9]‘与’\d’一致,’[a-z0-9A-Z]‘与’\w’一致。
在字符类里,^表示匹配不符合指定字符集合的字符串(就是排除的意思).如:‘[^a-zA-Z]’表示匹配一个b不是字母的字符

5.选择字符

有时候匹配的字符串有着条件选择的逻辑,这时候我们就要用到选择字符’|'来实现.选择字符就是或者的意思
如果要匹配身份证号,身份证号长度为15位或者18位。如果是15位,全为数字;如果是18位,前17位为数字,最后一位可能为数字或者字符X。表达式:

(^\d{15}$)|(^\d{18}$)|(^\d{17})(\d|X|x))$

其中小括号的作用是分组。
在实际运用中,对于一些特殊字符需要用\进行转义,或者可以在模式字符串前加r或R.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值