re模塊python
r'str' r表示元字符串 re.I 表示忽略大小寫正則表達式
import re pa1 = re.compile(r'n',re.I) ma1 = pa1.match('name') ma1.group() ma2 = re.match(r'n','name')
基本語法:函數
.匹配任意字符串(除了\n)spa
[...]匹配字符集code
\d / \D 匹配數字/非數字字符串
\s / \S匹配空白/非空白字符string
\w / \W匹配單詞字符[a-zA-Z0-9]/非單詞字符it
*匹配前一個字符0次或者無限次class
+匹配前一個字符1次或者無限次import
?匹配前一個字符0次或一次
{m} /{m,n}匹配前一個字符m次或m到 n次
*? /+? /?? 匹配模式變爲非貪婪
^匹配字符串開頭
$匹配字符串結尾
\A / \Z指定的字符串必須出如今開頭/結尾
分組匹配:
| 匹配左右任意一個表達式
(ab)括號內表達式做爲一個分組
\<number>引用編號爲num的分組匹配到的字符串
(?P<name>)分組起一個別名
( ?P=name)引用別名爲name的分組匹配字符串
re模塊方法
serch(pattern, string, flags=0)查找匹配
findall(pattern, string, flags=0)找到匹配,返回全部匹配的列表
sub(pattern,repl, string, count=0, flags=0)將字符串中匹配中匹配正則表達式的部分替換爲其餘值
repl能夠是字符串也能夠是一個函數。
split (pattern, string, maxsplit=0, flags=0)根據匹配分割字符串,返回分割字符串組成的列表