count用於指定最多替換次數,不指定時全部替換。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import
re
p
=
re.
compile
(r
'(\w+) (\w+)'
)
s
=
'i say, hello world!'
print
p.sub(r
'\2 \1'
, s)
def
func(m):
return
m.group(
1
).title()
+
' '
+
m.group(
2
).title()
print
p.sub(func, s)
### output ###
# say i, world hello!
# i say, hello world!
7.subn(repl, string[, count]) |re.sub(pattern, repl, string[, count]):
返回 (sub(repl, string[, count]), 替換次數)。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import
re
p
=
re.
compile
(r
'(\w+) (\w+)'
)
s
=
'i say, hello world!'
print
p.subn(r
'\2 \1'
, s)
def
func(m):
return
m.group(
1
).title()
+
' '
+
m.group(
2
).title()
print
p.subn(func, s)
### output ###
# ('say i, world hello!', 2)
# ('i say, hello world!', 2)
以上就是python對於正規表示式的支援。熟練掌握正規表示式是每乙個程式設計師必須具備的技能,這年頭沒有不與字串打交道的程式了。筆者也處於初級階段,與君共勉,^_^
另外,圖中的特殊構造部分沒有舉出例子,用到這些的正規表示式是具有一定難度的。有興趣可以思考一下,如何匹配不是以abc開頭的單詞,^_^
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正規表示式指南下半部
2.search string pos endpos re.search pattern,string flags 這個方法用於查詢字串中可以匹配成功的子串。從string的pos下標處起嘗試匹配pattern,如果pattern結束時仍可匹配,則返回乙個match物件 若無法匹配,則將pos加1後...
Python正規表示式指南下半部
2.search string pos endpos re.search pattern,string flags 這個方法用於查詢字串中可以匹配成功的子串。從string的pos下標處起嘗試匹配pattern,如果pattern結束時仍可匹配,則返回乙個match物件 若無法匹配,則將pos加1後...