python學習 正規表示式學習

2021-07-14 11:32:05 字數 1560 閱讀 8971

1、只匹配字串中的英文本母

>>> import re

>>> mys1 = "123456"

>>> mys2 = "123abc"

>>> mys3 = "abc123"

>>> mys4 = "abcdef"

>>> myl = [mys1, mys2, mys3, mys4]

>>> for s in myl:

res = re.findall(r"[a-za-z]+", s)

print res

['abc']

['abc']

['abcdef']

注:同時也可以利用此來判斷某字串是否純由數字所組成的,即如果返回結果為空列表時

2、只匹配字串中的數字

>>> for s in myl:

res = re.findall(r"[0-9]+", s)

print res

['123456']

['123']

['123']

注:同樣地也可以用來判斷某字串是否由純字母所組成, 即如果返回結果為空列表時

3、匹配字串中的字母和數字

>>> for s in myl:

res = re.findall(r"[0-9a-za-z]+", s)

print res

['123456']

['123abc']

['abc123']

['abcdef']

4、正規表示式常用的符號和字元 

由於 csdn 的**太難看了,故使用 markdown 來編輯生成**

詳見:正規表示式常用的符號和字元

5、但是經過上面的字元學習後,我們判斷某字串是否由純數字或純字母所組成時,可以寫成如下的方式:

>>> for s in myl:

res = re.findall(r"^[0-9]+$", s)

print res

['123456']

>>> for s in myl:

res = re.findall(r"^[a-za-z]+$", s)

print res

['abcdef']

是 5 的方法好,還是 1 的方法好,個人覺得, 1 的方法的取巧性太強,在閱讀**時不夠直觀,而 5 的方法更加符合我們的一般思維,更容易理解,故 5 的方法更好。同樣地

6、正規表示式函式與方法:

search(pattern, string, flags=0):在字串 string 中查詢正規表示式模式 pattern 的第一次出現,flags 是可選識別符號,如果匹配成功,則返回乙個匹配物件,否則返回 none

注:可以通過 result.group() 來訪問返回結果內容

finditer(pattern, string[,flags=0]) :和 findall() 相同,但返回的不是列表而是迭代器,對於每個匹配,該迭代器返回乙個匹配物件

python正規表示式學習

今天學習了python中有關正規表示式的知識。關於正規表示式的語法,不作過多解釋,網上有許多學習的資料。這裡主要介紹python中常用的正 則表示式處理函式。re.match 嘗試從字串的開始匹配乙個模式,如 下面的例子匹配第乙個單詞。import re text jgood is a handso...

python正規表示式學習

python 中的re 模組 正規表示式 就個人而言,主要用它來做一些複雜字串分析,提取想要的資訊 學習原則 夠用就行,需要的時候在深入 現總結如下 正規表示式中特殊的符號 表任意字元 表string起始 表string 結束 跟在字元後面表示,0個 多個,1個 多個,0個或者1個 符合條件的情況下...

python學習 正規表示式

1,d可以匹配乙個數字,w可以匹配乙個字母或數字 00 d 可以匹配 007 但無法匹配 00a d d d 可以匹配 010 w w d 可以匹配 py3 2,可以匹配任意字元 py.可以匹配 pyc pyo py 等等。3,表示任意個字元 包括0個 用 表示至少乙個字元,用?表示0個或1個字元,...