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

首頁 > 編程 > Python > 正文

python正則分組的應用

2020-02-23 04:55:29
字體:
來源:轉載
供稿:網友

代碼如下:
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'

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 正蓝旗| 海南省| 繁昌县| 清水县| 吉首市| 深泽县| 娱乐| 会泽县| 建德市| 嘉荫县| 资兴市| 蓬溪县| 文山县| 邢台市| 阜平县| 四子王旗| 丹阳市| 尉犁县| 灵宝市| 同江市| 花垣县| 子洲县| 瓮安县| 沧州市| 洪湖市| 宁南县| 德惠市| 天全县| 阿图什市| 北宁市| 天镇县| 法库县| 日喀则市| 特克斯县| 武胜县| 随州市| 绵阳市| 五家渠市| 同德县| 山丹县| 会泽县|