#1、正则表达式使用: 用来匹配字符的普通字符:大多数字符和字母都会和自身匹配import re# s = "hello world"## print(s.find("llo"))# ret = s.replace("ll","xx")# print(ret)# print(s.split("w"))2元字符: . ^ $ * + ? { } [] | () \#. 任意匹配(除\n外)ret = re.findall("h...o","hello world")print(ret)#^ 从前匹配ret = re.findall("^h...o","hewdo world hexno")print(ret)#$ 从后匹配ret = re.findall("w..d$","wdifdhello sdwordwold")print(ret)#* 重复匹配ret = re.findall("ab*","hello world i come aback")print(ret)
ret = re.findall("a+b","adsdfbadbababdjfn")print(ret)#? [0,1]ret = re.findall("a?b","abdsdfbadbababdjfn")print(ret)#{ } 贪婪匹配ret = re.findall("a{1,3}b","adsdfbaaabbabbbdaadbababdjfn") #{1,}等价于{1,+00}print(ret)结论:* 等于 {0到正无穷} + 等价于{1到正无穷} ?等价于{0,1}
#[]字符集:取消元字符的特殊功能ret = re.findall("[w,,]","awdx.,")print(ret)#反斜杠后边跟普通字符实现特殊功能\d 匹配任何十进制数 它相当于类[0-9]\D 匹配任何非数字字符 它相当于类[^0-9]\s 匹配任何空白字符 它相当于类 [ \t\n\r\f\v]\S 匹配任何非空白字符 它相当于类 [^ \t\n\r\f\v]\w 匹配任何字母数字字符,它相当于类 [1-zA-Z0-9_]\W 匹配任何非字母数字字符,它相当于类 [^1-zA-Z0-9_]#正则表达式的方法: 1、findall(): 所有结果都返回到一个列表里 2、search(): 返回匹配到的一个对象(object),对象可以调用group()返回结果 3、match(): 只在字符串开始匹配时匹配,也返回匹配到的第一个对象(object),对象可以调用groupret = re.match("assd","asdgfhjdk")print(ret)print(ret.group())