python-正则表达式入门第一章 正则表

表示法 描述 正则表达式示例
literal 匹配文本字符串的字面值 literal foo
re1|re2 匹配正则表达式 re1 或者 re2  foo|bar
匹配任何字符(除了\n 之外)  b.b
匹配字符串起始部分  ^Dear
匹配字符串终止部分  /bin/*sh$
* 匹配 0 次或者多次前面出现的正则表达式 [A-Za-z0-9]*
匹配 1 次或者多次前面出现的正则表达式 [a-z]+\.com
匹配 0 次或者 1 次前面出现的正则表达式 goo?
{N} 匹配 N 次前面出现的正则表达 [0-9]{3}
{M,N}  匹配 M~N 次前面出现的正则表达式 [0-9]{5,9}
[…]  匹配来自字符集的任意单一字符  [aeiou]
[..x−y..]  匹配 x~y 范围中的任意单一字符  [0-9], [A-Za-z]
[^…]   不匹配此字符集中出现的任何一个字符,包括某一范围的字符(如果在此字符集中出现) [^aeiou], [^A-Za-z0-9]
(*|+|?|{})?  用于匹配上面频繁出现/重复出现符号的非贪婪版本(*、+、?、{})  .*?[a-z]
(…)  匹配封闭的正则表达式,然后另存为子组  ([0-9]{3})?,f(oo|u)bar
特殊字符    
\d 匹配任何十进制数字,与[0-9]一致(\D 与\d 相反,不匹配任何非数值型的数字) data\d+.txt
\w   匹配任何字母数字字符,与[A-Za-z0-9_]相同(\W 与之相反,不匹配任何字母数字字符) [A-Za-z_]\w+
\b   匹配任何单词边界(\B 与之相反) \bThe\b
\N  匹配已保存的子组 N(参见上面的(…))  price: \16
\c  逐字匹配任何特殊字符 c(即,仅按照字面意义匹配,不匹配特殊含义)  \., \\, \*
\A(\Z)  匹配字符串的起始(结束)(另见上面介绍的^和$)  \ADear
扩展表示法    
 (?iLmsux)   在正则表达式中嵌入一个或者多个特殊“标记”参数(或者通过函数/方法) (?x),(? im)
(?:…)  表示一个匹配不用保存的分组  (?:\w+\.)*
(?P…)  像一个仅由 name 标识而不是数字 ID 标识的正则分组匹配  (?P)
(?P=name)  在同一字符串中匹配由(?P<name)分组的之前文本 (?p=data)
(?#…)  表示注释,所有内容都被忽略  (?#comment)
(?=…)  匹配条件是如果…出现在之后的位置,而不使用输入字符串;称作正向前视断言  (?=.com)
(?!…)  匹配条件是如果…不出现在之后的位置,而不使用输入字符串;称作负向前视断言  (?!.net)
(?<=…)  匹配条件是如果…出现在之前的位置,而不使用输入字符串;称作正向后视断言  (?<=800-)
(?<!…)  匹配条件是如果…不出现在之前的位置,而不使用输入字符串;称作负向后视断言  (?<!192\.168\.)
(?(id/name)Y|N)  如果分组所提供的 id 或者 name(名称)存在,就返回正则表达式的条件匹配 Y,
如 果不存在,就返回 N;|N 是可选项
 (?(1)y|x)
     

猜你喜欢

转载自blog.csdn.net/qq_39208536/article/details/81127467