直接上例子:
[root@esearch-prod-component-010177210122 /home/liujiangbo] 01:54:27 0
# cat 2.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
import re
ttt="133.556.777.8888,woshsinibaba" #這里可以用nginx的訪問日志
patener=re.compile(r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}') #定義正則匹配規則,\d{1,3}表示1到3個數字
match = patener.match(ttt) #正則規則去ttt中匹配,這是一個對象
print("____________________________")
print(match)
#print("____________________________")
t=match.group() #返回正則表達式匹配到的字符串
print("____________________________")
print(t)
match1=patener.search(ttt)
print("____________________________")
t1=match1.group()
print(t1)
進行匹配:
方法 描述
match() 從字符串開頭位置開始匹配
search() 對字符串的任意位置進行匹配
findall() 返回字符串中所有匹配的子串組成的列表
finditer() 返回一個包含了所有的匹配對象的迭代器
上面方法得到的是一個對象,我們得到匹配對象以后,就可以通過匹配對象中的方法對匹配的信息進行進一步的處理了。
匹配對象中重要的方法如下:
方法 描述
group() 返回正則表達式匹配到的字符串
start() 返回匹配的起始位置
end() 返回匹配的結束位置
span() 返回一個包含匹配的起始位置和結束位置的元組(start, end)
上面例子執行結果為:
[root@esearch-prod-component-010177210122 /home/liujiangbo] 01:54:26 0
# python 2.py
____________________________
<_sre.SRE_Match object at 0x7f572c47b920>
____________________________
133.556.777.888
____________________________
133.556.777.888
參考