則表達式(英文名稱:regular expression,regex,RE)是用來簡潔表達一組字符串特征的表達式。最主要應用在字符串匹配中。
匹配IP地址的正則表達式:
IP地址字符串形式的正則表達式(IP地址分4段,每段0-255) 精確寫法 0-99:[1-9]?\d 100-199:1\d{2} 200-249:2[0-4]\d 250-255:25[0-5] (([1-9]?\d|1\d{2}|2[0-4]\d|25[0-5]).){3}([1-9]?\d|1\d{2}|2[0-4]\d|25[0-5])
re.search(pattern, string, flags=0)
在一個字符串中搜索匹配正則表達式的第一個位置,返回match對象
∙ pattern : 正則表達式的字符串或原生字符串表示
∙ string : 待匹配字符串
∙ flags : 正則表達式使用時的控制標記
re.match(pattern, string, flags=0)
從一個字符串的開始位置起匹配正則表達,返回match對象
∙ pattern : 正則表達式的字符串或原生字符串表示
∙ string : 待匹配字符串
∙ flags : 正則表達式使用時的控制標記
re.findall(pattern, string, flags=0)
搜索字符串,以列表類型返回全部能匹配的子串
∙ pattern : 正則表達式的字符串或原生字符串表示
∙ string : 待匹配字符串
∙ flags : 正則表達式使用時的控制標記
re.split(pattern, string, maxsplit=0, flags=0)
將一個字符串按照正則表達式匹配結果進行分割,返回列表類型
∙ pattern : 正則表達式的字符串或原生字符串表示
∙ string : 待匹配字符串
∙ maxsplit: 最大分割數,剩余部分作為最后一個元素輸出
∙ flags : 正則表達式使用時的控制標記
re.finditer(pattern, string, flags=0)
搜索字符串,返回一個匹配結果的迭代類型,每個迭代元素是match對象
∙ pattern : 正則表達式的字符串或原生字符串表示
∙ string : 待匹配字符串
∙ flags : 正則表達式使用時的控制標記
re.sub(pattern, repl, string, count=0, flags=0)
在一個字符串中替換所有匹配正則表達式的子串,返回替換后的字符串
∙ pattern : 正則表達式的字符串或原生字符串表示
∙ repl : 替換匹配字符串的字符串
∙ string : 待匹配字符串
∙ count : 匹配的最大替換次數
∙ flags : 正則表達式使用時的控制標記
regex = re.compile(pattern, flags=0)
將正則表達式的字符串形式編譯成正則表達式對象
∙ pattern : 正則表達式的字符串或原生字符串表示
∙ flags : 正則表達式使用時的控制標記
>>> regex = re.compile(r'[1‐9]\d{5}')