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


正则匹配规则:

表示法 描述 正则表达式实例
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 标识而不是数字ID 标识的正则分组匹配 
(?P=name)  在同一字符串中匹配由(?P
(?#…)  表示注释,所有内容都被忽略
(?=…)  匹配条件是如果…出现在之后的位置,而不使用输入字符串;称作正向前视断言
(?!…)  匹配条件是如果…不出现在之后的位置,而不使用输入字符串;称作负向前视断言
(?<=…)  匹配条件是如果…出现在之前的位置,而不使用输入字符串;称作正向后视断言 
(? 匹配条件是如果…不出现在之前的位置,而不使用输入字符串;称作负向后视断言 
(?(id/name)Y|N )  如果分组所提供的id 或者name存在,就返回正则表达式的条件匹配Y,如果不存在,就返回N;|N 是可选项

你可能感兴趣的:(python)