国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python正則分組的應用

2019-11-25 18:38:06
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:

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=(.*)&CHANNELID=(.*)", 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'


以下是補充:

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

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

>>> import re
>>> p=re.compile('/d-/d-/d')
>>> m=p.match('2-3-1')
>>> m.groups()
()
>>> m.group()
'2-3-1'
>>> m.group(1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
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('(?P<first>/d)-(/d)-(/d)')
>>> m=p.match('1-2-3')
>>> m.group(1)
'1'
>>> m.group('first')

'1'

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 潞城市| 达拉特旗| 嵊州市| 蓬莱市| 宝丰县| 辛集市| 大石桥市| 新津县| 舞阳县| 铜梁县| 视频| 铜鼓县| 长岭县| 霍州市| 博野县| 乌鲁木齐县| 佛学| 应城市| 象山县| 黄山市| 乌海市| 海南省| 灵寿县| 太原市| 泗阳县| 田东县| 太康县| 富蕴县| 教育| 徐州市| 黄大仙区| 正阳县| 精河县| 临猗县| 北辰区| 盐城市| 柏乡县| 永平县| 福清市| 进贤县| 融水|