Python的re.match()和re.search()的使用和区别
生活随笔
收集整理的這篇文章主要介紹了
Python的re.match()和re.search()的使用和区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.re.match()
re.match()的概念是從頭匹配一個符合規則的字符串,從起始位置開始匹配,匹配成功返回一個對象,未匹配成功返回None。包含的參數如下:
- pattern: 正則模型
- string : 要匹配的字符串
- falgs : 匹配模式
match() 方法一旦匹配成功,就是一個match object對象,而match object對象有以下方法:
- group() 返回被 RE 匹配的字符串
- start() 返回匹配開始的位置
- end() 返回匹配結束的位置
- span()返回一個元組包含匹配 (開始,結束) 的位置
案例:
import re # re.match 返回一個Match Object 對象 # 對象提供了 group() 方法,來獲取匹配的結果 result = re.match("hello","hello,world") if result:print(result.group()) else:print("匹配失敗!")輸出結果:
hello
2.re.search()
re.search()函數會在字符串內查找模式匹配,只要找到第一個匹配然后返回,如果字符串沒有匹配,則返回None。
格式:re.search(pattern, string, flags=0)
要求:匹配出文章閱讀的次數
import reret = re.search(r"\d+", "閱讀次數為 9999") print(ret.group())輸出結果:
9999
3.match()和search()的區別:
- match()函數只檢測RE是不是在string的開始位置匹配,
- search()會掃描整個string查找匹配
- match()只有在0位置匹配成功的話才有返回,如果不是開始位置匹配成功的話,match()就返回none
舉例說明:
import re print(re.match('super', 'superstition').span())(0, 5)
print(re.match('super','insuperable'))None
print(re.search('super','superstition').span())(0, 5)
print(re.search('super','insuperable').span())(2, 7)
總結
以上是生活随笔為你收集整理的Python的re.match()和re.search()的使用和区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python中re.sub()实现替换文
- 下一篇: python中list和str互相转换