python中的正則表達式(re模塊)三
阿新 • • 發佈:2018-07-29
正則表達式 group ret 字符 findall arc pan sdfs 定義 元字符之分組 ()
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import re
print(re.findall(r"(abc)+",‘abcccccabccc‘))
#註釋:分組是把括號內的字符串看成一個整體來做正則匹配
以上實例執行結果:
[‘abc‘, ‘abc‘]
import re ret=re.search(‘(?P<id>\d{2})\.(?P<name>\w{3})‘,‘23.com‘) print(ret.group()) print(ret.group(‘id‘)) #註釋:使用分組的來獲取自己想要的組,以上分文兩個組(id組和name組),實際正真在匹配的是\d{2}和\w{3} #註釋:(?P<>) 是分組的固定格式,裏面的ID為自定義名字
以上實例執行結果:
23.com
23
re模塊常用方法 search
#類似於find方法,當第一次匹配到以後就不會繼續往後找直接返回結果,如果找不到返回None。
以下實例是使用search方法匹配數字;返回的結果一個match對象
#!/usr/bin/env python # -*- coding:utf-8 -*- import re ret=re.search(‘\d+‘,‘sdf23sdf35sdfs36‘) print(ret)
以上實例執行結果:
<_sre.SRE_Match object; span=(3, 5), match=‘23‘>
獲取match對象的值,使用group方法
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import re
ret=re.search(‘\d+‘,‘sdf23sdf35sdfs36‘).group()
print(ret)
以上實例執行結果
23
re.match方法與search大致相同,不過match在字符串開始處進行匹配;
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import re
ret=re.search(‘\d+‘,‘56sdf23sdf35sdfs36‘).group()
print(ret)
以上實例執行結果
56
python中的正則表達式(re模塊)三