1.a= 「abbbccc」,用正則匹配為 abccc,不管有多少b,就出現一次?
import re
a="abbbccc"
print
(re.sub(
"b+"
,"b"
,a))
2.寫出開頭匹配字母和下劃線,末尾是數字的正規表示式?
import re
res=
"a_0ds23h1234"
print
(re.findall(
"^[a-za-z_]+.\d$"
,res)
)
3.匹配乙個手機號
import re
phone=
"15567865678"
print
(re.findall(
"^1[3456789]\d\d$"
,phone)
)
4.寫乙個正規表示式,使其能同時識別下面所有的字串:『bat』, 『bit』, 『but』, 『hat』, 『hit』, 'hut『
import re
str1=
"bat, bit, but, hat, hit, hut"
print
(re.findall(
"..t"
,str1)
)#print(re.findall("[bh][aiu]t",str1))
6.提取每行中完整的年月日和時間字段
import re
s="""se234 1987-02-09 07:30:00
1987-02-10 07:25:00"""
print
(re.findall(
"\d-\d-\d \d:\d:\d"
,s,re.m)
)
7.將每行中的電子郵件位址替換為你自己的電子郵件位址
import re
s="""[email protected], [email protected], [email protected], [email protected], [email protected] [email protected]"""
print
(re.sub(
"\w+@\w+[.]com"
,s))
8.匹配\home關鍵字:
import re
str1=
"skjdfoijower \home \homewer"
print
(re.findall(r"\\home"
,str1)
)
9.匹配一行文字中的所有開頭的數字內容或字母內容
import re
str1=
"12a321 akda12jnm 32jakjd dka"
print
(re.findall(r"\b\w"
,str1)
)#只匹配乙個
print
(re.findall(r"\b\d+|\b[a-za-z]+"
,str1)
)#開頭多個
#end:學無止境 re 模組簡單運用
import random from random import randint,choice,sample for i in range 20 test random.randint 1,10 1 10之間的整數,包括1和10 test1 random.random 0到1 之間的小數 test2...
re模組的結果小練習題
1.匹配標籤 1 import re2 ret re.search w 3 還可以在分組中利用?p的形式給分組起名字4 獲取的匹配結果可以直接用group 名字 拿到對應的值 5print ret.group 6print ret.group tag name 789 10 ret re.searc...
Python 中re庫的簡單使用
1.findall 方法 返回乙個列表 如下 import re text f open testtext.txt r encoding cp936 for each line in f text text each line f.close result re.findall a z a z a ...