1. 程式人生 > >python 正則表示式(一) re模組match、search、findall、finditer 使用demo

python 正則表示式(一) re模組match、search、findall、finditer 使用demo

'''
正則表示式的功能全部在re模組上實現
1)match函式:嘗試從字串的起始位置匹配一個模式,如果不是從起始位置匹配成功
也返回None
def match(pattern, string, flags=0):
patter:匹配的正則表示式
string:要匹配的字串
flags:標誌位,用於控制正則表示式的匹配方式
    re.I    -->忽略大小寫(用的多)
    re.L    -->做本地戶識別
    re.M    -->多行匹配,影響^和 $(用的多)
    re.S    -->是.匹配包含換行符在內的所用字元(用的多)
    re.U    -->根據Unicod字符集解析字元,影響\w  \W   \b   \B

'''

import re
print(re.match("www","www.baidu.com"))  #能匹配到

print(re.match("www","wWw.baidu.com")) #因為大小寫,不能匹配到

print(re.match("www","wWw.baidu.com",flags =re.I)) #忽略大小寫,能匹配到

print(re.match("www","baidu.com.wwW",flags =re.I)) #在起始位置不能匹配的
'''
2)search函式
def search(pattern, string, flags=0)
patter:匹配的正則表示式
string:要匹配的字串
flags:標誌位,用於控制正則表示式的匹配方式
功能:掃碼整改字串,並返回第一個成功的匹配
'''
print(re.search("www","baidu.com.wwWppwww",flags =re.I)) #能匹配到

'''
3)findall
def findall(pattern, string, flags=0)
patter:匹配的正則表示式
string:要匹配的字串
flags:標誌位,用於控制正則表示式的匹配方式
功能:掃碼整改字串,並返回成功的匹配結果列表

4)finditer
def search(pattern, string, flags=0)
patter:匹配的正則表示式
string:要匹配的字串
flags:標誌位,用於控制正則表示式的匹配方式
功能:掃碼整改字串,並返回一個迭代器
'''
ll = re.findall("sun","today is sunday,the sun is very beautiful, i am sunshine")
print(ll)