spider.3-爬蟲中的re
阿新 • • 發佈:2020-10-10
1、compile()
編譯正則表示式模式,返回一個物件的模式。(可以把那些常用的正則表示式編譯成正則表示式物件,這樣可以提高一點效率。)
格式:
re.compile(pattern,flags=0)
pattern: 編譯時用的表示式字串。
flags 編譯標誌位,用於修改正則表示式的匹配方式,如:是否區分大小寫,多行匹配等
標誌 | 含義 |
re.S(DOTALL) | 使.匹配包括換行在內的所有字元 |
re.I(IGNORECASE) | 使匹配對大小寫不敏感 |
re.L(LOCALE) | 做本地化識別(locale-aware)匹配,法語等 |
re.M(MULTILINE) | 多行匹配,影響^和$ |
re.X(VERBOSE) | 該標誌通過給予更靈活的格式以便將正則表示式寫得更易於理解 |
re.U | 根據Unicode字符集解析字元,這個標誌影響\w,\W,\b,\B |
import re tt = "Tina is a good girl, she is cool, clever, and so on..." rr = re.compile(r'\w*oo\w*') print(rr.findall(tt)) #查詢所有包含'oo'的單詞 執行結果如下: ['good', 'cool']
2、findall()
re.findall遍歷匹配,可以獲取字串中所有匹配的字串,返回一個列表。
格式:
re.findall(pattern, string, flags=0)
import re s = "A B C D" # 1. p1 = re.compile('\w+\s+\w+') print(p1.findall(s)) # 2. print(re.findall('\w+\s+\w+',s)) # 3. print(re.compile('\w+\s+\w+').findall(s))
3.