[0-8] 0到8必须出现一次
[0-8]? 0到8可以出现一次,也可以不出现,但是尽量匹配1次
[0-8]?? 0到8可以出现一次,也可以不出现,但是尽量匹配0次
[0-8]* 0到8可以出现0次到n次,但是尽量匹配n次
[0-8]*? 0到8可以出现0次到n次,但是尽量匹配0次
[0-8]+ 0到8可以出现1次到n次,但是尽量匹配n次
[0-8]+? 0到8可以出现1次到n次,但是尽量匹配1次
[0-8]{m,n} 0到8可以出现m次到n次,(m < n),但是尽量匹配n次
[0-8]{m,n}? 0到8可以出现m次到n次,但是尽量匹配m次
>>> re.match(r'a\d+d$','a33345d').group()
'a33345d'
可以将$看做是全字符串匹配,因为$代表这到达了字符串的末尾
也就是说,会从第一个字符到最后一个字符一直进行匹配,到了末尾,那么到了末尾才算功德圆满。
>>> re.match(r'([a-z]+[a-z]+|[0-9]+[0-9]+)*$','323dd5223ee33').group()
'323dd5223ee33'
也就是说,通常要是需要字符串中所有的内容都必须匹配到规则,则应该在最后加上$,否则,不必在最后加上$符号。当不加$符号时,只匹配前一部分的字符串之后就结束了。
但是,无论那种情况,都是从字符串的开头处开始匹配,不会错过任何字符。
附:
sub 对一个字符串中的值进行替换
对匹配后得到的匹配对象传入到一个函数中进行处理
split字符串分割