re.findall()[必看]
不考虑性能,这个函数足矣 res_list=re.findall(正则表达式,文本) 返回值是一个列表
import re
s="testOuput-Brussels-P-10-responseEncoded-2019-07-08--Jump-95.csv"
date=re.findall(r"\d{4}-\d{2}-\d{2}",s)[0]
p=re.findall(r"-(P-\d{1,2})-",s)[0]
city=re.findall(r"-([A-Za-z]+)-P-\d{1,2}-",s)[0]
print(date,p,city)
写正则表达式[必看]
弄明白四个东西就完事儿
1.中括号
[a-z]表示匹配1个小写字母 [a-zA-Z]表示匹配1个字母 [ab]表示匹配a或b
2.大括号 b{3}表示匹配3个b b{3,5}表示匹配bbb,bbbb,bbbbb b{3,}表示匹配bbb,bbbb,bbbbb,bbb… b{,3}表示匹配空,b,bb,bbb
3.小括号 只有小括号里面的字符串会添加到res_list中
s="apple"
res=re.findall("ap([a-z])le",s)
print(res[0]) #结果是p
4.. . 表示匹配任意字符
读正则表达式[选看]
+表示匹配1个或多个字符,相当于{1,} ?表示匹配0个或1个字符,相当于{0,1} *表示匹配0个或多个字符,相当于{0,}
|