^匹配一行字串的開頭
.匹配任意字元,除了換行符
[...]匹配括號中的任乙個,[amk] 匹配 'a','m'或'k'
[^...]不在中的字元:[^abc] 匹配除了a,b,c之外的字元
*匹配0個或多個的表示式
+匹配1個或多個的表示式
?匹配0個或1個由前面的正規表示式定義的片段,非貪婪方式
[ \f\r\t\n] //匹配所有的白字元
[^a-z] //除了小寫字母以外的所有字元
[0-9\.\-] //匹配所有的數字,句號和減號[[:alpha:]]
任何字母
[[:digit:]]
任何數字
[[:alnum:]]
任何字母和數字
[[:space:]]
任何空白字元
[[:upper:]]
任何大寫字母
[[:lower:]]
任何小寫字母
[[:punct:]]
任何標點符號
[[:xdigit:]]
任何16進製制的數字,相當於[0-9a-fa-f]
|a| b,匹配a或b
精確匹配 n 個前面表示式。例如, o 不能匹配 "bob" 中的 "o",但是能匹配 "food" 中的兩個 o。
匹配 n 個前面表示式。例如, o 不能匹配"bob"中的"o",但能匹配 "foooood"中的所有 o。"o" 等價於 "o+"。"o" 則等價於 "o*"。
匹配 n 到 m 次由前面的正規表示式定義的片段,貪婪方式
\w匹配字母數字下劃線
\w匹配非字母數字下劃線
\s匹配任意空白字元
\s匹配任意非空白字元
\d匹配任意數字,等價於 [0-9]
\d匹配任意非數字
首先分享一道例題:
bugku-----字元?正則
劃線部分是重點哦,
preg_match("/key.*key.key:\/.\/(.*key)[a-z][[:punct:]]/i", trim($_get["id"]), $match);
這句話不太難,我們可以乙個乙個比較的得到flag。因為通過得到的php**來看,這個id就是flag。。。。
'/key' 就是key 的意思,'.*'即匹配任意乙個字元,『key』還是key,『.'就是需要任意字元但是字元的個數要比4大同時比7小,'key』仍然是key,『:'本意不改,還是冒號,'\/'是反斜槓的意思即『/』, '.\/'還是乙個任意字元都ok再加上乙個反斜槓/,'(.*key)』還是key,[a-z]是從a到z之間任意乙個小寫字母,[:punct:]是任何標點符號。
下面記錄一些re庫
re.match :嘗試從字串的起始位置匹配乙個模式,如果不是起始位置匹配成功的話,match() 就返回none。
re.search:掃瞄整個字串並返回第乙個成功的匹配。
在前面兩個表示式中有區別,但是得到的答案的代表相同,,,
span():獲取開始和結束位置;string:獲取匹配的內容
group():獲取子表示式匹配的內容
re.findall:在字串中找到正規表示式所匹配的所有子串,並返回乙個列表,如果沒有找到匹配的,則返回空列表。
re.sub(『表示式』, 『新字元』, 『字串』):用於替換字串中的匹配項。
re.split:方法按照能夠匹配的子串將字串分割後返回列表,用於通過匹配的子串將字串分割,並將分割後的子串以列表形式返回,通過指定分隔符對字串進行切片,如果引數 num 有指定值,則分隔 num+1 個子字串 ,除去字串中符表示式的字元,以列表的形式返回
re.compile:函式用於編譯正規表示式,生成乙個正規表示式物件
首先執行match後
\d是數字,所以對於匹配的字串,沒有結果,返回是none,
string: 待匹配字串,比較模糊的乙個匹配。。
findall的例子:
re 正則匹配的非貪婪匹配
非貪婪匹配 將盡可能少的匹配內容,當?出現在其他的重複次數後面時會將貪婪模式改為非貪婪模式。如 abc.abc.非貪婪匹配 盡可能少的匹配?號表示 號前面的字元出現0 無數個 號表示最少匹配 號表示 號前面的字元出現1 無數個 表示0 1個 print re.findall r ab aababba...
re正則匹配 必會的80 操作
1 re.match 從頭開始匹配,第乙個字元就要符合規則import re res re.match r a z d qas13223455432 qas 2 re.search 匹配包含import re res re.search r d qas13223455432 13223455432 ...
python 字串匹配 正則 re
1.re.match 嘗試從字串的起始位置匹配乙個模式,如果不是起始位置匹配成功的話,match 就返回none。import re content 123i love 123 you pattern r 123 res re.match pattern,content print res prin...