国产探花免费观看_亚洲丰满少妇自慰呻吟_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'

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 博兴县| 澄城县| 永顺县| 红河县| 哈密市| 神农架林区| 富宁县| 同江市| 石河子市| 基隆市| 抚顺县| 东明县| 东方市| 郁南县| 巫山县| 安阳县| 祁阳县| 进贤县| 保定市| 高州市| 孝义市| 涪陵区| 呼和浩特市| 鄂托克旗| 错那县| 芷江| 介休市| 吉安县| 大埔县| 崇信县| 大化| 南部县| 夹江县| 新兴县| 肥东县| 三河市| 昌宁县| 元氏县| 齐齐哈尔市| 新源县| 孟连|