python_re正则表达

re模块就本质而言,正则表达式(或RE)是一种小型的、高度专业化的编程语言,(在python中)它内嵌
在Python中,并经过re模块实现,正则表达式模块被编译成一系列的字节码,而后由用C编写的匹配引擎执行。
字符匹配(普通字符、元字符)
#一、正则表达式使用: 用来匹配字符的
普通字符:大多数字符和字母都会和自身匹配
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_]#正则表达式的方法:  一、findall(): 全部结果都返回到一个列表里  二、search(): 返回匹配到的一个对象(object),对象能够调用group()返回结果  三、match(): 只在字符串开始匹配时匹配,也返回匹配到的第一个对象(object),对象能够调用groupret = re.match("assd","asdgfhjdk")print(ret)print(ret.group())
相关文章
相关标签/搜索
本站公众号
   欢迎关注本站公众号,获取更多信息