[python][正则表达式] 正则表达式简介

来源:互联网 发布:java字符串时间转换 编辑:程序博客网 时间:2024/06/15 01:54


正则匹配规则:

表示法描述正则表达式实例literal匹配文本字符串的字面值literal"foo"匹配"foo"re1|re2"|"表示择一匹配符,匹配re1或者re2"foo|bar"匹配"foo"或者"bar".匹配除了换行符\n之外的任何字符"b.b"匹配"bab"、"bob"、"bub"等等; ".end"匹配end之前的任意一个字符;  ".."匹配任意两个字符;   ^或\A匹配字符串起始部分(\A主要用于没有脱字符的键盘)"^From"匹配任意以From开始的字符串,如"FromChina";$或\Z匹配字符串结束部分(\Z主要用于没有脱字符的键盘)"end$"匹配任意以end结尾的字符串,如"Happy end";\b匹配任何单词边界"\bthe"匹配任意以the开始的字符串,如"the day";\B与\b相反"\Bthe"匹配任意包含但不以the开始的字符串,如"is the day";[...]匹配一对方括号中包含的的任意单一字符"b[aeiu]t"匹配bat、bet、bit和but;[x-y]匹配x到y范围中的任意单一字符"[A-Z]"匹配任一大写字母; "[a-z]"匹配任一小写字母;"[0-9]"匹配任一数字;[^x-y]不匹配x到y范围中的任意单一字符,即[x-y]取反"[^A-Z]"匹配非大写字母;*匹配0次或多次前面出现的表达式"[0-9]*"匹配0个或者多个数字+匹配1次或多次前面出现的表达式"[0-9]+"匹配至少一个数字?匹配0次或1次前面出现的表达式"[0-9]?"匹配至多一个数字{N}匹配N次前面出现的表达式"[0-9]{3}"匹配三个数字{M,N}匹配M~N次前面出现的表达式"[0-9]{3,5}"匹配三、四或者五个数字(*|+|?|{})?匹配非贪婪版本,即尽可能少的匹配"?"紧跟在任意闭合操作符的后面\d匹配任意十进制数字"\d+"匹配至少一个十进制数字\w匹配全部字母和数字"\w+"匹配至少一个字母或者数字\s匹配空格 \D匹配任意非十进制数字,相当于[^0-9] (…)匹配一个表达式并保存为子组 \N匹配已经保存的子组 转义字符"\."匹配句点符号(.); "\*"匹配星号(*);"\s"匹配空格; 

扩展匹配:

(?iLmsux) 在正则表达式中嵌入一个或者多个特殊“标记”参数(或者通过函数/方法)(?:…) 表示一个匹配不用保存的分组(?P<name>…) 像一个仅由name 标识而不是数字ID 标识的正则分组匹配 (?P=name) 在同一字符串中匹配由(?P<name)分组的之前文本 (?#…) 表示注释,所有内容都被忽略(?=…) 匹配条件是如果…出现在之后的位置,而不使用输入字符串;称作正向前视断言(?!…) 匹配条件是如果…不出现在之后的位置,而不使用输入字符串;称作负向前视断言(?<=…) 匹配条件是如果…出现在之前的位置,而不使用输入字符串;称作正向后视断言 (?<!…) 匹配条件是如果…不出现在之前的位置,而不使用输入字符串;称作负向后视断言 (?(id/name)Y|N ) 如果分组所提供的id 或者name存在,就返回正则表达式的条件匹配Y,如果不存在,就返回N;|N 是可选项

原创粉丝点击