Python正規表示式指南下半部

2021-09-20 23:48:37 字數 3335 閱讀 2561

2.search(string[, pos[, endpos]]) | re.search(pattern, string[, flags]):

這個方法用於查詢字串中可以匹配成功的子串。從string的pos下標處起嘗試匹配pattern,如果pattern結束時仍可匹配,則返回乙個match物件;若無法匹配,則將pos加1後重新嘗試匹配;直到pos=endpos時仍無法匹配則返回none。

pos和endpos的預設值分別為0和len(string));re.search()無法指定這兩個引數,引數flags用於編譯pattern時指定匹配模式。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

# encoding: utf-8

importre

# 將正規表示式編譯成pattern物件

pattern=re.compile(r'world')

# 使用search()查詢匹配的子串,不存在能匹配的子串時將返回none

# 這個例子中使用match()無法成功匹配

match=pattern.search('hello world!')

ifmatch:

# 使用match獲得分組資訊

printmatch.group()

### 輸出 ###

# world

3.split(string[, maxsplit]) | re.split(pattern, string[, maxsplit]):

按照能夠匹配的子串將string分割後返回列表。maxsplit用於指定最大分割次數,不指定將全部分割。

1

2

3

4

5

6

7

importre

p=re.compile(r'\d+')

printp.split('one1two2three3four4')

### output ###

# ['one', 'two', 'three', 'four', '']

4.findall(string[, pos[, endpos]]) | re.findall(pattern, string[, flags]):

搜尋string,以列表形式返回全部能匹配的子串。

1

2

3

4

5

6

7

importre

p=re.compile(r'\d+')

printp.findall('one1two2three3four4')

### output ###

# ['1', '2', '3', '4']

5.finditer(string[, pos[, endpos]]) | re.finditer(pattern, string[, flags]):

搜尋string,返回乙個順序訪問每乙個匹配結果(match物件)的迭代器 。

1

2

3

4

5

6

7

8

importre

p=re.compile(r'\d+')

forminp.finditer('one1two2three3four4'):

printm.group(),

### output ###

# 1 2 3 4

6.sub(repl, string[, count]) | re.sub(pattern, repl, string[, count]):

使用repl替換string中每乙個匹配的子串後返回替換後的字串。

當repl是乙個字串時,可以使用\id或\g、\g引用分組,但不能使用編號0。

當repl是乙個方法時,這個方法應當只接受乙個引數(match物件),並返回乙個字串用於替換(返回的字串中不能再引用分組)。

Python正規表示式指南下半部

2.search string pos endpos re.search pattern,string flags 這個方法用於查詢字串中可以匹配成功的子串。從string的pos下標處起嘗試匹配pattern,如果pattern結束時仍可匹配,則返回乙個match物件 若無法匹配,則將pos加1後...

Python正規表示式指南下下半部

count用於指定最多替換次數,不指定時全部替換。1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 importre p re.compile r w w s i say,hello world printp.sub r 2 1 s deffunc m returnm.grou...

Python正規表示式指南下下半部

count用於指定最多替換次數,不指定時全部替換。1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 importre p re.compile r w w s i say,hello world printp.sub r 2 1 s deffunc m returnm.grou...