Python学习基础知识之正则表达式

基本符号 

通配符

含义

例词

*

0或多个字符

*text: text, context, pretext…but not “texts”

+

01个字符

text+: text, texts

1个字符

b?d:  bid, bad, bed, but not “bird”.

@

01个词

In @ case: in case, in the case, in any case, etc.

#

1个词

In # case: in this case, in that case, in any case…

|

或者

text|texts: “text” and “texts”

匹配字符串的结束位置
 / 或者,两者中取一项

括号用法

()小括号表示匹配括号中全部字符。

[ ]中括号表示匹配括号中一个字符范围描述如[0-9 a-z A-Z]。

{ }大括号用于限定匹配次数如{n}表示匹配n个字符;{n, }表示至少匹配n个字符;{n, m}表示至少n最多m。

转义字符

转义字符如上基本符号匹配都需要转义字符

        \*表示四配*号;

        \w 表示英文字母和数字;

        \W 非字母和数字;

         \d 表示数字;

        \D非数字。

常用方法

re.search()只能返回第一个匹配到的对象;

re.findall()可以获得字符串中所有匹配的字符串并且返回值是列表;

re. match()方法: 只匹配字符串开始的位置

        re. match尝试从字符串的开始匹配一个模式

        re. match的函数原型为: re. match(pattern, string, f1ags)

第一个参数是正则表达式,如果匹配成功,则返回一个Match, 否则返回一个None;

第二个参数表示要匹配的字符串;

第三个参数是标致位,用于控制正则表达式的匹配方式如:是否区分大小写,多行匹配等等。

finditer()函数和findall()函数的区别是,findall()返回所有匹配的字符串,并存为1个列表,而finditer()则并不直接返回这些字符串,而是返回一个迭代器。

finditer()返回了一个可调用的对象,使用for i in finditer()的形式,可以一个一个的得到匹配返回的Match对象。这在对每次返回的对象进行比较复杂的操作时比较有用。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值