正则表达式的特殊字符

    正则表达式的特殊字符

 符号 说明
 ^ 正则表达式的开始字符
 $ 正则表达式的结束字符
 \w 匹配字母、数字、下划线
 \W 匹配不是字符、数字、下划线的字符
 \s 匹配空白字符
 \S 匹配不是空白的字符
 \d 匹配数字
 \D 匹配非数字的字符
 \b 匹配单词的开始和结尾
 \B 匹配不是单词开始和结尾的位置
 . 匹配任意字符,包括汉字
 [m] 匹配单个字符串
 [m1m2...n] 匹配多个字符串
 [m-n] 匹配m到n区间内的数字、字母
 [^m] 匹配除m以外的字符串
 () 对正则表达式进行分组,一对圆括号表示一组

注意:a>匹配符"[]"可以指定一个匹配范围,例如"[ok]"将匹配包含"o"或"k"的字符。
      b>^与[^m]中的"^"的含义并不相同,后者的"^"表示"除了..."的意思

                                                      正则表达式的常用限定符

 符号 说明
 * 匹配零次或多次
 + 匹配一次或多次
 ? 匹配一次或零次
 {m} 重复m次
 {m.n} 重复m到n次,其中n可以省略,表示m到任意次

注意:"("和")"是正则表达式中的特殊字符,如果要把他们作为普通字符处理,需要在前面添加转义字符"\".

                                限定符与"?"的组合

 符号 说明
 *? 匹配零次或多次,且最短匹配
 +? 匹配一次或多次,且最短匹配
 ?? 匹配一次或零次,且最短匹配
 {m,n}? 重复m次,且最短匹配
 (?#...) 正则表达式的注释
 (?P<name>...) 给分组命名,name表示分组的名称
 (?P=name) 使用名为name的分组

                                 re模块的常用函数

 函数 说明
 findall(pattern,string,flag=0) 根据pattern在string中匹配字符串,如果匹配成功,返回包含匹配结果的列表,否则返回空列表。当pattern中有分组时,返回包含多个元组的列表,每个元组对应一个分组。flag表示规则选项,规则选项用于辅助匹配(如下表)
 sub(pattern,repl,string,count=0) 根据指定的正则表达式替换源字符串的子串。pattern是一个正则表达式,repl是用于替换的字符串,string是源字符串。如果count=0,则返回string中匹配的所有结果,如果count大于0,则返回前count个匹配结果
 subn(pattern,repl,string,count=0) 作用和sub()相同,返回1个2元的元组,第一个元素是替换结果,第二个元素是替换的次数
 match(pattern,string,flags=0) 根据pattern从string的头部开始匹配字符串,只返回第一次匹配成功的对象,否则返回"None"
search(pattern,string,flags=0) 根据pattern在string中匹配字符串,只返回第一次匹配成功的对象。如果匹配失败,返回"None"
 compile(pattern,flags=0) 编译正则表达式pattern,返回一个Pattern对象
 split(pattern,string,maxsplit=0) 根据pattern分割string,maxsplit表示最大的分割数
 escape(pattern) 匹配字符串中的特殊字符,如"*"、"+"、"?"等
 注意:函数match()必须充字符串的第0个索引位置开始搜索,如果第0个索引位置的字符不批撇,match()的匹配就会失败。

                                re模块的规则选项

 选项 说明
 I或者IGNORECASE 忽略大侠些
 L或者LOCALE 字符集本地化,用于多语言环境
 M或者MULTILINE 多行匹配,使^$匹配除了string开始结束外,还匹配一行的开始和结束
 S或者DOTALL 使"."匹配包括"\n"在内的所有字符
 X或者VERBOSE 忽略正则表达式中的空白、换行、以方便添加注释
 U或者UNICODE "\w"、"\W"、"\b"、"\B"、"\d"、"\D"、"\s"、"\S"都将使用Unicode
 注意:正则表达式有3种间隔符号:"^","$"和"\b"。"^"匹配字符串首部的字符;"$"匹配字符串结束部分的字符;"\b"用于分割单词。

[python] re模块 - 徐开 - xukaizijian

 注意:如果你想要指示某些不需要如转义符那样的特别处理的字符串,那么你需要指定一个自然字符串。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值