re模組中group 與groups 用法

2021-10-09 17:19:57 字數 1138 閱讀 1470

re模組中group()與groups()用法

#自學python中一些小收穫和踩過的坑。標記下

先上案例1~group():

a=

'1,234'

spam=re.

compile

(r'^\d(,\d)*$')**

re.search(spam,a)

.group(

) re.search(spam,a)

.group(0)

'1,234'

re.search(spam,a)

.group(1)

',234'

re.search(spam,a)

.group(2)

indexerror: no such group

總結:group()匹配物件的方法返回型別為字元。

不管正規表示式中有無分組,均返回匹配的文字;

差別在於如group()的引數為0或空,返回匹配全部文字;

否則,則會返回匹配的對應的分組,引數如果超過表示式中分組的個數,就會報錯。

案例2~groups()

a=

'1,234'

b='1,234,567'

spam=re.

compile

(r'^\d(,\d)*$'

)spam1=re.

compile

(r'^(\d)(,\d)*$'

) re.search(spam,a)

.groups()(

',234',)

re.search(spam,b)

.groups()(

',567',)

re.search(spam1,a)

.groups()(

'1',

',234'

) re.search(spam1,b)

.groups()(

'1',

',567'

)

總結:groups()匹配物件的方法,一次性獲取所有的分組,返回型別為元組。

元組內值的個數取決於正規表示式內分組的個數。即使只有乙個值,也別忘記在值的後面加個逗號(,)。

python 中的re 模組

正規表示式中特殊的符號 表任意字元 表string起始 表string 結束 跟在字元後面表示,0個 多個,1個 多個,0個或者1個 符合條件的情況下,匹配的盡可能少 限制 匹配的貪婪性 匹配此前的字元,重複m次 m到n次,m,n可以省略 舉個例子 a.b 表示a開始,b結束的任意字串 a 匹配連續...

Python中的Re模組

1.首先,re模組是python自帶的模組,使用import re就可以使用了 2.基礎語法我就不說了。主要進行總結 match,search都是只匹配一次的。匹配到就返回match物件了。後面是否有可以匹配到的是不管的,如果match開頭沒有匹配到,返回none,search在整個字串中麼有匹配到...

正規表示式re中的group含義

python import re 定義了兩個group,因為包含兩個括號 m re.match w w isaac newton,physicist group 0 就是匹配的整個結果 print m.group 0 輸出結果為isaac newton group 1 是第乙個group的值 pri...