正则表达式符号: . ^ $ * + ? {} () | []
.一个点代表一个字符
^代表开头
$代表结尾
*代表有0到无数个 [0,+00]
?代表有0到1个 [0,1]
+代表有1到无数个[1,+00]
{1,6}代表1到6个,{a-z}代表a到z的字母,{^A-Z}代表非A到Z的字母
是转义:
d 匹配任何十进制 = [0-9]
D 匹配任何飞数字字符 = [^0-9]
w 匹配任何字母数字字符 = [a-zA-Z0-9_]
W 匹配任何非字母数字字符 = [^a-zA-Z0-9_]
匹配一个特殊字符边界,如空格,&,#等
例子:
#re.search():返回一个对象,只找一个满足条件的,分组() ?P<name>无意义 re.search("(?P<name>[a-z]+)","alex34ray19xialu36") #返回一个对象 re.search("(?P<name>[a-z]+)","alex34ray19xialu36").group() #直接打印alex,(符合条件的第一个) re.search("(?P<name>[a-z]+)d+","alex34ray19xialu36").group("name") #直接打印alex,(符合条件的第一个) re.split("[ab]","abcd") #先按a分割得到''和'abc',再对''和'abc'分别按b分割,得出['','','cd']