複製** **如下:
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...