re模塊
RE模塊python
- 查找
- findall
- 匹配全部每一項都是列表中的一個元素
- re.findall()
- search
- 只匹配從左到右的第一個結果,獲得的不是直接的結果,而是一個變量,經過這個變量group方法來獲取結果
- re.search 內存地址,這是一個正則的結果,
- 若是沒有匹配到,會返回None,使用.group()會報錯
- match
- 匹配從頭開始匹配,至關於search中的正則表達式加上一個^
- ret = re.match ('正則推導式','字符串')
- 字符串處理的擴展:替換 切割
- split
- 切割 返回列表,按照正則規矩進行切割,默認匹配到的內容會被切割
- sub
- 替換 誰 舊的 新的 次數
- 替換,按照正則規則去尋找要被替換的內容,
- subn
- re模塊的進階
- compile 節省你使用正則表達式解決問題的時間
- 編譯正則表達式編譯成 字節碼
- 在屢次使用的過程當中, 不會屢次編譯
- 編譯一個正則表達式,用這個結果去search match findall
- finditr 節省你使用正則表達式解決問題的時間
- 返回一個迭代器,全部的結果都在這個迭代器中, 須要經過循環+group的形式取值 , 可以節省內存
- 分組在python中 的應用
- 爲了findall也能夠順利取到分組中的內容,有一個特殊的語法,就是優先顯示分組中的內容
- 取消分組優先(?:正則表達式)
- # ret = re.findall('\d+(?:\.\d+)', '144.365')
- 分組命名
- 對於python而言來講 分組能夠幫助你更好更精確的找到你真正須要的內容
- (?P<這個組的名字>正則的表達式)
- # s = '<a>wahaha</a>'
- # ret = re.search('>(?P<con>\w+)<',s)
- # print(ret.group(1))
- # print(ret.group('con'))
- 使用前面的分組 要求使用這個名字的分組和前面同名分組中的內容匹配的必須一致
- 使用前面的分組 要求使用這個名字的分組和前面同名分組中的內容匹配的必須一致
- # pattern = '<(?P<tab>\w+)>(\w+)</(?P=tab)>'
- # ret = re.search(pattern,s)
- # print(ret)
- 當結果是None表示兩個同名不匹配.
- 結果是一個內存表達式表示兩個同名匹配
- 正則表達式若是寫的足夠好 可以最大限度的簡化咱們的操做
- 掌握做業中的全部內容
- 可以看懂經常使用正則表達式
- 而且可以作出一些公司特異性要求的修改
- 示例
歡迎關注本站公眾號,獲取更多信息