python正则表达式之一

1 字符匹配

-普通字符

大多数字母和字符一般都会和自身匹配

-元字符

.  ^  $  *  +  ?  {   }  [  ]  \  |  (  )

2 分析

1)[ ]

-常用来指定一个字符集:[abc], [a-z]

-元字符在字符集不起作用:[akm$]

-补集匹配不在区间范围内的字符:[^5]

下图是一些例子:



2)  ^

-匹配行首,除非设置MULITILINE标志,他只是匹配字符串的开头,在MULTILINE模式中,他也可以直接匹配字符串中的每一个换行


3)  $

-匹配行尾,行尾诶定义为要么是字符串尾,要么是一个换行字符后面的任何位置



4) \

-反斜杠后面可以加不同的字符以表示不同的意义,转义字符

-可以取消所有的元字符:\[  or \\

\d  匹配任何十进制数,相当于类[0-9]

\D  匹配任何非数字数,相当于类[^0-9]

\s  匹配任何空白字符,相当于类[\t\n\r\f\v]

\S  匹配任何非空白字符,相当于类[^\t\n\r\f\v]

\w  匹配任何字母数字字符,相当于类[a-zA-Z0-9_]

\W 匹配任何非字母数字字符,相当于类[^a-zA-Z0-9_]

另外可以知道正则表达式的一部分的重复次数

如下:


5) *

-指定前一个字符可以被匹配0次or多次


6) +

-匹配1次or多次

-注意*和+的不同之处,*:匹配0次or多次; +:匹配至少出现一次

另外  ? :匹配0次or1次,可以用来标识某事物是可选的


如下:

“ab+"表示贪婪模式;"ab+?"表示非贪婪模式


7) { m, n}

-其中m,n是十进制数,该限定符表示至少有m个重复,至多有n个重复

-忽略m,默认为0;忽略n,默认为无穷

-{0,}相当于*,{1,}相当于+,而{0,1}相当于?

不过最好还是使用*,+,?




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值