python正则表达式2

5.正则表达式的构造

1)字符组描述符  [....]:  与方括号中任意字符匹配

[abc]可以匹配a或者b或者c

区间形式:顺序列出字符串的形式 [0-9]  或者[a-z]  [0-9a-zA-Z]匹配所有的数字与字母

特殊形式:[^.....]表示对^列出的字符求补 [^0-9]表示匹配非十进制的字符

[^\t\r\n\v\f} 匹配所有非空白符

注意:如果要匹配^字符 则不能讲^放在最前面 可以\^转义或者放在中间 [\^]  [0-9^a-z],如果需要匹配- ]则需 \- 或者\] 

  因为-  ^ ]在字符组中属于特殊功能的字符 就是在字符组中的^ - ]等需要加上转义\ 

2)圆点字符(.)

圆点(.)是通配符 可以匹配任意字符

例如模式串:a..b  匹配以a开头以b结尾的4位字符串

3)通用字符组

\d  与十进制匹配  [0-9]

\D 匹配非十进制 [^0-9]

\s 与所有空白字符匹配 [\t\r\v\f\n]

\S  与所有非空白字符匹配[^\t\r\n\v\f]

\w  与所有的数字字母匹配 [0-9a-zA-Z]

\W 与非数字字母匹配 [^0-9a-zA-Z]

4)重复

重复描述符*  表示匹配0次或者任意多次

+ 至少一次匹配

\d+  等价于 \d\d*

贪婪匹配:模式与字符串中最长的子串匹配

非贪婪匹配(吝啬匹配):模式与字符串中最短的字串匹配

可选描述符(?):?是可选片段的描述符  'a?'表示与a匹配的字符串0次或者1次重复匹配

'-?\d+'表示整数的字符串  :

print re.match('-?\d+','-12').group(0)

重复次数描述符:确定次数的可以使用{n}描述 ' a{4}'   与a匹配的串4次重复

010-?[2-9][0-9]{7} 北京固话 表示以010头 -可选  2-9的数字一个   加上7位数字

010-?表示-可选

(010-)?表示010可选

重复次数的范围描述符:{m,n}

a{3,7}  a重复3到7次

a{n}等价a{n,n}

a?等价于a{0,1}

a*等价于a{0,}

a+等价于a{1,}

5)选择

选择描述符|:  a|b  如果与a或者b中一个匹配 则字符串与a|b都匹配

a|b|c 可以看成是[abc]简写但是只能用于单字节

(ab)|(ac)|(ad)这些就不能使用字符组的方式描述

6)首尾描述符:

行首描述符^:以... 开头的模式

re.match('^for','for a  child') 

行尾描述符$:以什么结尾

re.match('child$,'for a  child') 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值