python學習:re模塊

常用正則表達式符號

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
'.'?????默認匹配除\n之外的任意一個字符,若指定flag DOTALL,則匹配任意字符,包括換行
'^'?????匹配字符開頭,若指定flags MULTILINE,這種也可以匹配上(r"^a","\nabc\neee",flags=re.MULTILINE)
'$'?????匹配字符結尾,或e.search("foo$","bfoo\nsdfsf",flags=re.MULTILINE).group()也可以
'*'?????匹配*號前的字符0次或多次,re.findall("ab*","cabb3abcbbac")? 結果為['abb',?'ab',?'a']
'+'?????匹配前一個字符1次或多次,re.findall("ab+","ab+cd+abb+bba") 結果['ab',?'abb']
'?'?????匹配前一個字符1次或0
'{m}'???匹配前一個字符m次
'{n,m}'?匹配前一個字符n到m次,re.findall("ab{1,3}","abb abc abbcbbb") 結果'abb',?'ab',?'abb']
'|'?????匹配|左或|右的字符,re.search("abc|ABC","ABCBabcCD").group() 結果'ABC'
'(...)'?分組匹配,re.search("(abc){2}a(123|456)c",?"abcabca456c").group() 結果 abcabca456c
'\A'????只從字符開頭匹配,re.search("\Aabc","alexabc") 是匹配不到的
'\Z'????匹配字符結尾,同$
'\d'????匹配數字0-9
'\D'????匹配非數字
'\w'????匹配[A-Za-z0-9]
'\W'????匹配非[A-Za-z0-9]
's'?????匹配空白字符、\t、\n、\r , re.search("\s+","ab\tc1\n3").group() 結果?'\t'
'(?P<name>...)'?分組匹配 re.search("(?P<province>[0-9]{4})(?P<city>[0-9]{2})(?P<birthday>[0-9]{4})","371481199306143242").groupdict("city") 結果{'province':?'3714',?'city':?'81',?'birthday':?'1993'}

  

最常用的匹配語法

1
2
3
4
5
re.match 從頭開始匹配
re.search 匹配包含
re.findall 把所有匹配到的字符放到以列表中的元素返回
re.splitall 以匹配到的字符當做列表分隔符
re.sub????? 匹配字符并替換

反斜杠的困擾
與大多數編程語言相同,正則表達式里使用"\"作為轉義字符,這就可能造成反斜杠困擾。假如你需要匹配文本中的字符"\",那么使用編程語言表示的正則表達式里將需要4個反斜杠"\\\\":前兩個和后兩個分別用于在編程語言里轉義成反斜杠,轉換成兩個反斜杠后再在正則表達式里轉義成一個反斜杠。Python里的原生字符串很好地解決了這個問題,這個例子中的正則表達式可以使用r"\\"表示。同樣,匹配一個數字的"\\d"可以寫成r"\d"。有了原生字符串,你再也不用擔心是不是漏寫了反斜杠,寫出來的表達式也更直觀。

?

僅需輕輕知道的幾個匹配模式

1
2
3
re.I(re.IGNORECASE): 忽略大小寫(括號內是完整寫法,下同)
M(MULTILINE): 多行模式,改變'^''$'的行為(參見上圖)
S(DOTALL): 點任意匹配模式,改變'.'的行為

  

轉載于:https://www.cnblogs.com/alstonlee/p/6420107.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/393759.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/393759.shtml
英文地址,請注明出處:http://en.pswp.cn/news/393759.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

app之---豆果美食

1.抓包 2.代碼 抓取&#xff1a; #!/usr/bin/env python # -*- coding: utf-8 -*- #author tom import requests from multiprocessing import Queue from handle_pymongo import mongo from concurrent.futures import ThreadPoolExecutorclass Douguo():def __init__(self):s…

語言坐標度分秒的換算_測量位置度說明

測量位置度說明位置度是限制被測要素的實際位置對理想位置變動量的指標。它的定位尺寸為理論正確尺寸。位置度公差在評定實際要素位置的正確性, 是依據圖樣上給定的理想位置。位置度包括點的位置度、線的位置度和面的位置度。[1] 點的位置度:如公差帶前加S&#xffe0;&#xf…

OpenStack創建win7實例遇到的問題(尚未解決,求幫助)

原地址在這里&#xff1a;&#xff08;作者也是我&#xff0c;害羞&#xff09;http://www.aboutyun.com/forum.php?modviewthread&tid22898 小白經過兩天嘗試&#xff0c;用fuel部署好了OpenStack的云平臺&#xff0c;接下來想在Compute節點上創建一個win7 實例&#xff…

VMware使兩臺windows虛擬機能夠互相ping通

如果以下內容測試無效&#xff0c;可參考另一篇&#xff1a;VMware虛擬機配置內網電腦能訪問 1.關閉防火墻 cmd命令行里輸入&#xff1a;netsh firewall set opmode disable 2.測試如果還不能ping通&#xff0c;就把網絡類型選nat類型 3.測試&#xff1a;vmware網關默認是.2 轉…

linux賬號前有個base,安裝 aconda 后Linux的終端界面前部出現(base)字樣

aconda 是做什么用的這里就不說了&#xff0c;一般玩Python的都知道這東西&#xff0c;最早接觸這東西是因為它把NVIDIA中cuda計算和Python互連的一個庫拿下了&#xff0c;是買下來了還是專業&#xff0c;還是唯一合作的也就記不清了&#xff0c;那就是 numba , 那些年頭Python…

回復郵件時如何不要郵件頭_如何為閱讀,點擊和回復率達到100%的CEO設計一封冷郵件...

回復郵件時如何不要郵件頭by Theo Strauss由西奧斯特勞斯(Theo Strauss) 如何為閱讀&#xff0c;點擊和回復率達到100&#xff05;的CEO設計一封冷郵件 (How to design a cold email for a CEO with a 100% read, click, and response rate) 銀河電子郵件指南&#xff1a;第二…

leetcode1007. 行相等的最少多米諾旋轉(貪心)

在一排多米諾骨牌中&#xff0c;A[i] 和 B[i] 分別代表第 i 個多米諾骨牌的上半部分和下半部分。&#xff08;一個多米諾是兩個從 1 到 6 的數字同列平鋪形成的 —— 該平鋪的每一半上都有一個數字。&#xff09; 我們可以旋轉第 i 張多米諾&#xff0c;使得 A[i] 和 B[i] 的值…

Spring 學習教程(一): 認識 Spring 框架

Spring 框架是 Java 應用最廣的框架&#xff0c;它的成功來源于理念&#xff0c;而不是技術本身&#xff0c;它的理念包括 IoC (Inversion of Control&#xff0c;控制反轉) 和 AOP(Aspect Oriented Programming&#xff0c;面向切面編程)。 Spring 的框架結構 Data Access/Int…

小米網關控制空調伴侶_小米有品上架移動空調,支持語音控制

近日小米有品商城上架了一款互聯網可移動空調&#xff0c;機身僅有小米空氣凈化器一般大小&#xff0c;底部安裝了萬向輪&#xff0c;支持多方位自由移動&#xff0c;擁有三大功能&#xff0c;兼顧去暑除濕能力&#xff0c;產品售價1599元&#xff0c;有需求的用戶可以在小米有…

錯誤: 找不到符號

Error:(31, 29) 錯誤: 找不到符號 符號: 類 OnLaunchPluginCallback 位置: 類 IreaderPlugApi 明明我都可以ctrl 單擊點過去&#xff0c;但是就是運行的時候報錯。說錯誤: 找不到符號。 我試了兩遍&#xff0c;把工程clearn, 刪除build下面的文件夾&#xff0c;弄了兩遍&am…

leetcode910. 最小差值 II(貪心)

給定一個整數數組 A&#xff0c;對于每個整數 A[i]&#xff0c;我們可以選擇 x -K 或是 x K&#xff0c;并將 x 加到 A[i] 中。 在此過程之后&#xff0c;我們得到一些數組 B。 返回 B 的最大值和 B 的最小值之間可能存在的最小差值。 示例 1&#xff1a; 輸入&#xff1…

laravel 檢測sql_在Laravel PHP應用程序中輕松進行面部檢測

laravel 檢測sqlby Darren Chowles達倫喬爾斯(Darren Chowles) 在Laravel PHP應用程序中輕松進行面部檢測 (Easy facial detection in your Laravel PHP application) 使用Google Cloud Vision API檢測圖像中的人臉 (Detect faces in images using the Google Cloud Vision AP…

mysql學習筆記-insert擴展

1、創建表 -利用已有表&#xff0c;創建表 這樣創建的缺點-- 主鍵會丟失 -- 創建表&#xff0c;表結構與數據與t_emptest 一致 CREATE TABLE t_emptest1 AS SELECT * FROM t_emptest ;-- 創建空表&#xff0c;表結構與t_emptest 一致 CREATE TABLE t_emptest1 AS SELECT * FRO…

linux 調用外部變量,sed當中使用變量替換以及執行外部命令

轉自&#xff1a;http://blog.csdn.net/linwhwylb/article/details/7184748在使用sed對日志或者其它文本進行parse的過程當中&#xff0c;有時候我們需要引用外部變量的值&#xff0c;或者獲取一個shell命令執行的結果&#xff0c;以便達到更加可觀的輸出結果。這里介紹如何做到…

golang 結構體斷言_Golang中的reflect原理

反射&#xff08;reflect&#xff09;是在計算機程序運行時&#xff0c;訪問&#xff0c;檢查&#xff0c;修改它自身的一種能力&#xff0c;是元編程的一種形式。在Java等語言中都很好地支持了反射。Golang也實現了反射&#xff0c;主要核心位于reflect包&#xff0c;官方文檔…

「hadoop」cdh5.12離線安裝(未完成)

cdh 5.12.1 安裝 目前還未成功&#xff0c;僅供個人記錄。【下載必備工具】當前系統為win7_x641、vmware虛擬機12.52、ubuntu16.04服務器版本3、windows下的ssh工具&#xff0c;采用git bash4、jdk安裝包jdk-8u144-linux-x64.tar.gz5、mysql java驅動包 mysql-connector-java-5…

轉載 JDK + Android-SDK + Python + MonkeyRunner 的安裝

轉載來自&#xff1a; 小海豚的博客 http://blog.sina.com.cn/u/1295334083 我只是搬運工。。。 JDK Android-SDK Python MonkeyRunner 的安裝 1. Android-SDK介紹2. 安裝 JDK, Android-SDK&#xff08;包含MonkeyRunner) , Python 3. 設置環境變量4. 驗證是否安裝成功1. …

跟隨器反饋回路電阻_如何將短反饋回路設置為單獨編碼器

跟隨器反饋回路電阻I’ve spent the last couple years as a solo freelance developer. Comparing this experience to previously working in companies, I’ve noticed that those of us who work alone can have fewer iterative opportunities for improvement than devel…

leetcode991. 壞了的計算器(貪心)

在顯示著數字的壞計算器上&#xff0c;我們可以執行以下兩種操作&#xff1a; 雙倍&#xff08;Double&#xff09;&#xff1a;將顯示屏上的數字乘 2&#xff1b; 遞減&#xff08;Decrement&#xff09;&#xff1a;將顯示屏上的數字減 1 。 最初&#xff0c;計算器顯示數字…

模塊怎么用_Android 組件化/模塊化 的理解!

作者&#xff1a;前行的烏龜到現在組件化真的不是什么新鮮東西了&#xff0c;大公司都用的滾瓜爛熟&#xff0c;龍飛鳳舞了&#xff0c;也就是現在部分中型項目和小項目在組件化的路上努力。所以同志們&#xff0c;組件化沒玩過的&#xff0c;不熟悉的趕緊搞起來&#xff0c;說…