python正則分組的應用

2022-10-05 00:21:15 字數 1394 閱讀 3340

複製** **如下:

import re

text='v101_renow.android.2.2.normal.1.alpha.apk?imsi程式設計客棧=460029353813976&mobile=&old_version=renow.android.2.1.normal.1.alpha&channelid=3'

m = re.search(r"\w+_(renow.*)\.(apk|vir|ipa)\?imsi=(\d+)&mobile=&old_version=(.*)&chansukywclcvlnelid=(.*)", text)

if m:

print m.group(0), '\n', m.group(1),'\n', m.group(2),'\n', m.group(3),'\n', m.group(4),'\n', m.group(5)

else:

print 'not match'

以下是補充:

組是通過 "(" 和 ")" 元字元來標識的。 "(" 和 ")" 有很多在數學表示式中相同的意思;它們一起把在它們裡面的表示式組成一組。舉個例子,你可以用重複限制符,象 *, +, ?, 和 ,來重複組裡的內容,比如說(ab)* 將匹配零或更多個重複的 "ab"。

例子:如果不引入括號,增個表示式作為乙個組,是group(0)

>>> import re

>>> p=re.compile('\d-\d-www.cppcns.com\d')

>>> m=p.match('2-3-1')

>>> m.groups()

()>>> m.group()

'2-3-1'

>>> m.group(1)

traceback (most recent call last):

file "", line 1, in

indexerror: no such group

如果引入括號,可以將上面的表示式分成3組,如下

>>> p=re.compile('(\d)-(\d)-(\d)')

>>> m=p.match('1-2-3')

>>> m.group()

'1-2-3'

>>> m.group(1)

'1'>>> m.group(0,2,1)

('2-3-1', '2', '1')

也可以給各個組取名字,例如,給第乙個陣列取名叫first

>>> p=re.compile('sukywclcvl(?p\d)-(\d)-(\d)')

>>> m=p.match('1-2-3')

>>> m.group(1)

'1'>>> m.group('first')

'1'

本文標題: python正則分組的應用

本文位址:

python正則分組 python正則分組的應用

import re text v101 renow.android.2.2.normal.1.alpha.apk?imsi 460029353813976 mobile old version renow.android.2.1.normal.1.alpha channelid 3 m re.sea...

正則的分組

分組的作用 1.改變的預設的優先順序 2.分組捕獲 3.分組引用 正則的分組引用 let reg 18 19 正則 現的 1代表和第一分組出現一模一樣的內容 let req a z a z 2 1 編寫乙個正則匹配的身份證號碼 簡單的不嚴謹的 let reg d d x 簡單的 只能匹配是否符合格式...

python高階之正則中的分組

import re phone number phone 15647854549 分組 match obj re.match phone 1 0 9 phone number if match obj result match obj.group print result phone 1564785...