日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

re模块的深入

發布時間:2023/12/20 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 re模块的深入 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
import re''' 字符串切割'''str1= "allen is a good man" print(str1.split()) print(re.split((r" +"),str1))''' re.finditer函數 原型:finditer(pattern, string, flags=0) pattern: 匹配的正則表達式 string: 要匹配的字符串 flags:標志位,用于控制正則表達式的匹配方式,值如下 re.I 忽略大小寫 re.L 做本地話識別 re.M 多行匹配,影響^和$ re.S 是.匹配包括換行符在內的所有字符 re.U 根據Unicode字符集解析字符,影響\w \W \b \B re.X 使我們以更靈活的格式理解正則表達式 參數: 功能:與findall 類似,掃描整個字符串,返回的是一個迭代器 ''' str3 = "allen is a good man !allen is a nice man! allen is a handesome man" d =re.finditer(r"allen ",str3) while 1:try:l = next(d)print(d)except StopIteration as e :break''' 字符串的替換和修改 def sub(pattern, repl, string, count=0, flags=0): def subn(pattern, repl, string, count=0, flags=0): pattern: 正則表達式(規則) repl: 指定的用來替換的字符串 string: 目標字符串 count: 最多替換次數 flags: 標志位 功能:在目標字符串中以正則表達式的規則匹配字符串, 再把它們替換成制定的字符串。可以指定替換的次數, 如果不指定,默認替換所有匹配的字符串區別:前者返回一個被替換的字符串,后者返回一個元組第一個元素為替換的字符串第二個元素為替換次數'''str5 = "allen is a good good good man" print(re.sub(r"(good)","nice",str5)) print(re.subn(r"(good)","nice",str5,count=1))''' 分組: 概念:除了簡單的判斷是否匹配之外,正則表達式還有提取字串中的功能用()表示的就是提取分組 '''str6 = "allen is a good man !allen is a nice man! allen is a handesome man"str3 = "010-53247654" # m = re.match(r"((\d{3})-(\d{8}))",str3) m = re.match(r"(?P<first>\d{3})-(?P<last>\d{8})",str3) print(m) print(m.group(0)) print(m.group(1)) print(m.group(2)) # print(m.group(3)) print(m.groups())''' 編譯:當我們使用正則表達式時,re模塊會干兩件事1、編譯正則表達式,如果正則表達式本身不合法,會報錯 2、用編譯后的正則表達式去匹配對象compile (pattern,flags= 0)'''pat = r"^1[34578]\d{9}$" #編譯成正則對象 re_telephon = re.compile(pat) print(re_telephon.match("18332191389"))#re模塊調用 #re對象調用 #re.match(pattern, string, flags=0) #re_telephon.match(string) #re.search(pattern, string, flags=0) #re_telephon.search(sting) # re.findall(pattern, string, flags=0) # re_telephon.findall(string) #re.finditer(pattern, string, flags=0) #re_telephon.finditer(string) #re.split(pattern, string, maxsplit=0, flags=0) #re_telephon.split(string, maxsplit=0) #re.sub(pattern, repl, string, count=0, flags=0) #re_telephon.sub(repl, string, count=0) #re.subn(pattern, repl, string, count=0, flags=0) #re_telephon.subn(repl, string, count=0)

?

總結

以上是生活随笔為你收集整理的re模块的深入的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。