匹配自身
.匹配任意除換行符"\n"外的字元
\轉義字元,使後乙個字元改變原來的意思
編譯正規表示式模式,返回乙個物件的模式。對正規表示式使用較多的場景推薦使用,後續可以直接拿編譯出來的物件使用,大大提高效率pattern: 編譯時用的表示式字串。
re.compile(pattern,flags=0)
flags 編譯標誌位,用於修改正規表示式的匹配方式,如:是否區分大小寫,多行匹配等。常用的flags有:
標誌含義
re.s(dotall)
使.匹配包括換行在內的所有字元
re.i(ignorecase)
使匹配對大小寫不敏感
re.l(locale)
做本地化識別(locale-aware)匹配,法語等[上傳失敗...(image-91029d-1534672693398)]
re.m(multiline)
多行匹配,影響^和$
re.x(verbose)
該標誌通過給予更靈活的格式以便將正規表示式寫得更易於理解
re.u
根據unicode字符集解析字元,這個標誌影響\w,\w,\b,\b
在字串剛開始的位置匹配,匹配乙個成功就返回//注:這個方法並不是完全匹配。當pattern結束時若string還有剩餘字元,仍然視為成功。想要完全匹配,可以在表示式末尾加上邊界匹配符'$'
re.match(pattern, string, flags=0)
re.search函式會在字串內搜尋匹配,只要找到第乙個匹配然後返回,如果字串沒有匹配,則返回none。re.match只匹配字串的開始,如果開頭不符合正規表示式,則匹配失敗,函式返回none;
re.search(pattern, string, flags=0)
re.search匹配整個字串,直到找到乙個匹配成功
match和search函式在成功時返回匹配物件,失敗時返回none,返回物件有一下方法:
groups() 返回被 re 匹配的字串,以tuple的形式
start() 返回匹配開始的位置
end() 返回匹配結束的位置
span() 返回乙個元組包含匹配 (開始,結束) 的位置
group() 返回re整體匹配的字串,可以一次輸入多個組號,對應組號匹配的字串。
re.findall遍歷匹配,可以獲取字串中所有匹配的字串,返回乙個列表。
re.findall(pattern, string, flags=0)
搜尋string,返回乙個順序訪問每乙個匹配結果(match物件)的迭代器。找到 re 匹配的所有子串,並把它們作為乙個迭代器返回。
re.finditer(pattern, string, flags=0)
按照能夠匹配的子串將string分割後返回列表。可以使用re.split來分割字串,如:re.split(r'\s+', text);將字串按空格分割成乙個單詞列表。
re.split(pattern, string[, maxsplit])
maxsplit用於指定最大分割次數,不指定將全部分割。
使用re替換string中每乙個匹配的子串後返回替換後的字串。
re.sub(pattern, replace, string, count)
replace是替換後的字串
count指替換個數。預設為0,表示每個匹配項都替換。
返回替換次數
subn(pattern, repl, string, count=0, flags=0)
str = re.search('\d+','1234567')
print (str.group())
>>> 1234567
非貪婪模式
str = re.search('\d+?','1234567')
print (str.group())
>>> 1
加?表示只匹配0次或者1次
參考: 正規表示式 常用正規表示式
一 校驗數字的表示式 1 數字 0 9 2 n位的數字 d 3 至少n位的數字 d 4 m n位的數字 d 5 零和非零開頭的數字 0 1 9 0 9 6 非零開頭的最多帶兩位小數的數字 1 9 0 9 0 9 7 帶1 2位小數的正數或負數 d d 8 正數 負數 和小數 d d 9 有兩位小數的...
正規表示式 常用正規表示式
網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 4 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 或者 1 3...
正規表示式常用
正規表示式的介紹 1 資料型別 基本資料型別 number string boolean null undefined 複雜資料型別 array function object math date regexp正規表示式 string number boolean 2 regular express...