两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

        在學習爬蟲的過程中,正則表達式能夠幫助我們根據(jù)某些復雜的規(guī)則去處理復雜的字符串,它是一個特殊的字符序列,在Python中,系統(tǒng)自帶的re模塊包含了正則表達式的全部功能,下面我們進入正則表達式的學習。

1. 元字符

        正則表達式的結(jié)構(gòu)由普通字符和元字符組成,普通字符就是我們?nèi)粘J褂玫奈谋咀址?,而元字符有它特定的含義,具有匹配信息的功能。

        常用的正則表達式元字符如下表格:

元字符
功能

\

轉(zhuǎn)義符,表示位于‘\’之后的為轉(zhuǎn)義字符。

.

任意一個字符

?

匹配‘?’前面的字符一次或零次

+

匹配‘+’前面的字符一次或多次

*

匹配‘*’前面的字符零次或多次

-

用在[]之內(nèi)用來表示范圍

^

匹配行首,匹配以^后面的字符開頭的字符串

$

匹配行尾,匹配以$之前的字符結(jié)束的字符串

()

定義分組

[]

定義字符類

{}

定義量詞

|

選擇符號,或關系

\b

匹配單詞頭或單詞尾

\B

與\b相反

\d

匹配任何數(shù)字,相當于[0-9]

\D

與\d相反

\s

匹配任何空白字符

\S

與\s相反

\w

匹配任何字母、數(shù)字以及下劃線,相當于[a-zA-Z0-9]

\W

與\w相反

\z

匹配字符串結(jié)束

\G

匹配最后完成的位置

\A

匹配字符串開始

2. 元字符功能

        1) 字符類[]

        例如在一個列表中有‘a(chǎn)python’、‘bpython’、‘cpython’、‘dotcpp’四個元素,我們使用‘[abc]python’可以直接匹配到前面三個元素。

        2) [a-zA-Z0-9]

        這個可以匹配一個任意大小寫字母或者數(shù)字,等同于\w。

        3) 重復 {}

        如果我們使用{n},即‘pyt{}on’,只能匹配到python,使用{n,}可以匹配至少n次,使用{n,m}可以匹配至少n次,最多m次。

        4) 開始于結(jié)束字符

        使用‘^’和‘$’可以匹配一行字符串的開始和結(jié)束。

        5) a|b

        可以匹配a或者b。

        6) 匹配出現(xiàn)次數(shù)

        語法格式如下:

import re
s = '1234567'
p1 = r'\d?'
print(re.search(p1,s))

        可以改為\d*或\d{2,3}或d+等來進行匹配。

        輸出結(jié)果為:

<re.Match object; span=(0, 1), match='1'>

        由于‘?’為匹配0次或一次,所以匹配了出現(xiàn)數(shù)字一次。

3. 總結(jié)

        本節(jié)我們主要總結(jié)了正則表達式里的元字符及幾種常用的功能,這些元字符在我們后續(xù)的學習中會涉及到,大家可以回過頭來參考本節(jié)的內(nèi)容。


點贊(0)

C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習題和答疑,點擊了解:

一點編程也不會寫的:零基礎C語言學練課程

解決困擾你多年的C語言疑難雜癥特性的C語言進階課程

從零到寫出一個爬蟲的Python編程課程

只會語法寫不出代碼?手把手帶你寫100個編程真題的編程百練課程

信息學奧賽或C++選手的 必學C++課程

藍橋杯ACM、信息學奧賽的必學課程:算法競賽課入門課程

手把手講解近五年真題的藍橋杯輔導課程

Dotcpp在線編譯      (登錄可減少運行等待時間)