如果你对正则感兴趣,读完这篇文章,一定会有收获~_^
*
,+
,?
,{}
).
代表"万能匹配";//可以匹配除了"\n"
(换行符)之外的任何单个字符?
代表"不要贪婪";//用在*
,+
,?
后面,表示匹配的越少越好?
也代表"非〇即一";^
代表"除了你";//在中括号内,如[^_]
表示单个非下划线字符^
也代表"匹配首位";$
代表"匹配末位";*
代表"〇至无穷"; //大于等于0的整数+
代表"一至无穷";//大于等于1的整数|
代表"我们都一样";//|
表示"或"\d
代表"匹配数字";//0-9
\D
代表"匹配非\d
"\w
代表"匹配字符";//0-9,A-Z,a-z,_
\W
代表"匹配非\w
"{}
用来确定数量
re.match
表示正则模块里面的match函数(match函数默认从字符串首部开始匹配),\d
匹配单个数字{3}
代表匹配3个
image.png
[]
用来确定匹配字符的种类re.match(r"[123]{1}根烟","1根烟")
re.match(r"[123]{1}根烟","2根烟")
re.match(r"[123]{1}根烟","3根烟")
image.png
中括号内的123可匹配单个1或2或3
re.match(r"[1,2,3]{1}根烟","1根烟")
re.match(r"[1,2,3]{1}根烟","2根烟")
re.match(r"[1,2,3]{1}根烟","3根烟")
image.png
()
用来为表达式整体匹配后,"按需提取"(经常和函数group配合使用)re.match(r".*//.*?\.+(.*?)\.+[^\.]*","http://www.bilibili.com").group(1)
image.png
什么是贪婪匹配?
*
,?
,+
,{m,n}
后面加上?
即可使贪婪变成非贪婪.