您的位置:首页 > 编程语言 > Python开发

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

2017-08-01 15:47 274 查看
正则匹配规则:

表示法描述正则表达式实例
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 是可选项
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: