Python详解之模块:re (待续)

时间:2022-06-01 21:28:32

本文主要就是在自己的认识的基础上翻译了部分python的官方文档。官方文档的地址是:http://docs.python.org/library/re.html

1. 正则表达式语法

'.'
    在默认情况下,能够匹配除换行符之外的任意字符。
'^'
    匹配字符串的开头字符,在MUTILINE模式下匹配换行符之后的字符。
'$'
    匹配字符串的结尾字符,在MUTILINE模式下匹配换行符之后的字符。
'*'
    匹配零到无穷个前一字符
'+'
    匹配一到无穷个前一字符
'?'
    匹配零到一格前一字符
*?, +?, ??
    '*','+'和'?'匹配符都是贪婪的,它们匹配尽可能长的字符串。比如,用'<.*>'匹配'<H1>title</H1>',结果将是整个字符串。在它们之后加上'?',它们的匹配行为将会变为非贪婪的。比如,用'<.*?>'匹配'<H1>title</H1>',结果则是'<H1>'。

{m}
    匹配前一字符m次
{m,n}
    匹配前一字符m到n次。m如未指定,默认为零;n如未指定,默认为无穷。
{m,n}?
    {m,n}的非贪婪模式。比如,用'a{3,5}?'匹配'aaaaaa',将得到'aaa'而不是'aaaaa'。
'\'
    用于标记特殊序列或用于转义特殊字符。使用raw字符串,不需要转义特殊字符。
[]
    用于匹配一组字符。
    (1) [amk] 匹配 'a','m'或者'k'
    (2) [a-z0-9] 匹配 '小写字母或者数字
    (3) [a\-z] 匹配 'a','-'或者'z'
    (4) [*?+] 匹配 '*','?'或者'+'
    (5) [\w\s] 匹配 字母数字字符或者空白字符
    (6) [()[\]{}] 匹配 (),[],或者{}
    (7) [^5] 匹配 除'5'以外的任意字符
    (8) [5^] 匹配 '5'或者'^'
'|'
    A|B,匹配A或B表达式。匹配行为从左到右进行,非贪婪,一旦找到匹配表达式就停止匹配。