8、正則表示式-re方法的屬性
阿新 • • 發佈:2020-09-07
- 編譯標誌-flags
DOTALL,S:使.匹配包括換行在內的所有字元
IGNORECASE,I:使匹配對大小寫不敏感
LOCAL,L:本地化識別(local-aware)匹配.法語等
MULTILINE,M:多行匹配,影響^和$
>>> s = ''' hello python python hello hello python hello python hello py ''' >>> re.findall(r'^hello',s) [] >>> re.findall(r'^hello',s,re.M) #當字串 為多行時,需要加M來讓正則匹配\n後面的字元 ['hello', 'hello']
>>> s
'\nhello python\npython hello\nhello python hello\npython hello py\n'
VERBOSE,X:能夠使用REs的verbose狀態,使之被組織的更加清晰易懂
>>> tel = r''' \d{3,4} -? \d{8} ''' >>> re.findall(tel,'010-12345678') [] >>> re.findall(tel,'010-12345678',re.X) #當正則表示式為多行時,需要加入X屬性來使正則表示式清晰易懂['010-12345678'] >>> tel '\n\\d{3,4}\n-?\n\\d{8}\n'
分組:'('和')',可以把相關的資料化為一個整體,在這個整體中可以做其他操作,比如|(或),findall會優先返回分組中的資料
>>> email = r'\w{3,8}@\w+(\.com|\.cn)' >>> re.findall(email,'[email protected]') ['.com']