規則彙總:
# 正規表示式''' 用於處理字串的強大工具
python的re模組擁有全部的正規表示式的功能
python中的正規表示式是乙個特殊的字串行,
檢查乙個字串是否與某種模式匹配
'''# 元字元 :
# . ^ $ * + ? {} \ | ()
'''大多數字母和字元會匹配它們自身,
有少數特殊字元我們稱為元字元,
它們不能匹配自身,它們定義了字元類、
子組匹配和模式重複次數等
。'''
# 元字元的使用
''' . 匹配除換行符之外的所有的字元
\d 匹配0~9的數字
\s 匹配任意的空白符,包括空格,製表符(tab),換行符等
\w 匹配字母或數字或下劃線或漢字等
\b 表示單詞的邊界
^ 脫字元,匹配輸入字串的開始的位置
$ 匹配輸入字串的結束位置
解除元字元的特殊功能例
\. 表示匹配點號本身
\d、\s、\w、\b是與小寫的相反的作用
'''# 匹配次數
''' m和n 為非負整數,其中m<=n 表示前面的匹配m~n次
表示需要匹配m次
等價於表示需要匹配n次
* 匹配前面的子表示式零次或多次,等價於
+ 匹配前面的子表示式一次或多次,等價於
? 匹配前面的子表示式零次或一次,等價於
注:*?、+?、? 貪婪與懶惰
'''# 子組匹配
''' [ ] 字元類,將要匹配的一類字符集放在裡面
例如:[ . ? * ( ) {} ] 匹配裡面的這些符號
[0-9] 匹配0到9的數字相當於\d
[^\d] 匹配除數字以外的字元,相當於\d
[a-z] 匹配所有的小寫字母
[^a-z] 匹配非小寫字母
| 相當於或(or)分支條件
例如: a | b 匹配字母a或者b 與[ab]是一樣的
'''# 分組
''' () 分組,將要匹配的一類字符集放在()組成乙個小組
例如: (\d) 匹配乙個三位數
a(bc)*匹配乙個a和0個或多個bc
a(b|c) 匹配ab或者ac
'''# re模組
'''re.compile() 編譯正規表示式為模式物件
re模組的常用方法
match()
判斷乙個正規表示式是否從開始處匹配字串
search() 遍歷字串,找到正規表示式匹配的第乙個位置
findall() 遍歷字串,找到正規表示式匹配的所有位置並
以列表的形式返回
檢視匹配物件中的資訊
group() 返回匹配到的字串
star()返回匹配的開始位置
end()返回匹配的結束位置
span() 返回乙個元組表示匹配位置(開始,結束)
'''
常用的正規表示式小結如下:
非負整數:^\d+$
正整數:^[0-9]*[1-9][0-9]*$
非正整數:^((-\d+)|(0+))$
負整數:^-[0-9]*[1-9][0-9]*$
整數:^-?\d+$
非負浮點數:^\d+(\.\d+)?$
正浮點數 : ^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)$
非正浮點數:^((-\d+\.\d+)?)|(0+(\.0+)?))$
負浮點數:^(-((正浮點數正則式)))$
英文本串:^[a-za-z]+$
英文大寫串:^[a-z]+$
英文小寫串:^[a-z]+$
英文本元數字串:^[a-za-z0-9]+$
英數字加下劃線串:^\w+$
url:^[a-za-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$
或:^http:\/\/[a-za-z0-9]+\.[a-za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$
中文:^[\u0391-\uffe5]+$
**號碼:^((\(\d\))|(\d\-))?(\(0\d\)|0\d-)?[1-9]\d(\-\d)?$
手機號碼:^((\(\d\))|(\d\-))?13\d$
雙位元組字元(包括漢字在內):^\x00-\xff
匹配首尾空格:(^\s*)|(\s*$)(像vbscript那樣的trim函式)
匹配html標記:<(.*)>.*<\/\1>|<(.*) \/>
匹配空行:\n[\s| ]*\r
提取資訊中的中國手機號碼:(86)*0*13\d
提取資訊中的中國固定**號碼:(\(\d\)|\d-|\s)?\d
提取資訊中的中國**號碼(包括移動和固定**):(\(\d\)|\d-|\s)?\d
提取資訊中的浮點數(即小數):(-?\d*)\.?\d+
提取資訊中的任何數字 :(-?\d*)(\.\d+)?
ip:(\d+)\.(\d+)\.(\d+)\.(\d+)
**區號:/^0\d$/
帳號(字母開頭,允許5-16位元組,允許字母數字下劃線):^[a-za-z][a-za-z0-9_]$
中文、英文、數字及下劃線:^[\u4e00-\u9fa5_a-za-z0-9]+$
匹配中文字元的正規表示式: [\u4e00-\u9fa5]
匹配雙位元組字元(包括漢字在內):[^\x00-\xff]
匹配空行的正規表示式:\n[\s| ]*\r
匹配html標記的正規表示式:/<(.*)>.*<\/\1>|<(.*) \/>/
sql語句:^(select|drop|delete|create|update|insert).*$
匹配首尾空格的正規表示式:(^\s*)|(\s*$)
fei 正規表示式 正規表示式小結
常用的元字元常用的反義 常用的限定符 語法 說明 語法 說明 語法 說明 w 匹配字母或數字或下劃線或漢字 w匹配任意不是字母 數字 下劃線 漢字的字元 重複零次或者更多次 s匹配任意的空白字元 s匹配任意不是空白符的字元 重複一次或更多次 d匹配數字 d匹配任意非數字的字元 重複零次或一次 b匹配...
正規表示式小結
正規表示式 regex 英 red eks 1,d d d d或者是 d 表示匹配4位數的數字。2.說明。這些可被稱作元字元。匹配除換行符以外的任意字元1 jk2yh jj w數字字母漢字下劃線 bst456 5ghgtft s匹配任意的空白符 space table鍵和半全形空格 d匹配數字 di...
正規表示式小結
最近學習了正規表示式,趁還熱乎,寫下這篇部落格,記錄一下。正規表示式 英語 regular expression,在 中常簡寫為regex 正規表示式是乙個字串,使用單個字串來描述 用來定義匹配規則,匹配一系列符合某個句法規則的字串。在開發中,正規表示式通常被用來檢索 替換那些符合某個規則的文字,也...