python正则表达式的使用

常用的匹配符

贪婪模式

reg = 'He.(\d).Demo$'

非贪婪模式

reg = 'He.?(\d).Demo$'

* 常规匹配
 泛匹配 (使用 ?)

  • 匹配模式

    re.S : 忽略换行符

    re.A : 对ASCII 码有用,对Unicode忽略

    re.DEBUG : 显示调试信息

    re.I : 忽略字母大小写

    re.X :

常用方法官方参考

  • re.search(pattern,string,flags = 0 ) : 匹配方法
  • re.findall(pattern,string,flags = 0 ): 匹配返回列表
  • re.match(pattern,string,flags = 0 ) : 匹配返回匹配对象
  • re.sub() : 正则表达式替换
  • re.fullmatch(pattern,string,flags = 0 ): 返回完全匹配
  • re.split(pattern,string,maxsplit = 0,flags = 0 ): 匹配拆分
  • re.finditer(pattern,string,flags = 0 ): 匹配返回一个迭代器
  • re.subn(pattern,repl,string,count = 0,flags = 0 ): 返回元组
  • re.escape(pattern) : 字符转义
    • print(re.escape('python.exe'))

  • Match.groups(default=None) : 获取所有匹配的组
  • Match.groupdict(default=None) 匹配字典化

m = re.match(r"(?P<first_name>\w+) (?P<last_name>\w+)", "Malcolm Reynolds")
Match.groupdict(default=None)

  • Match.start([group]), Match.end([group]) 匹配开始结尾位置

正则表达式在线测试:https://regex101.com

posted @ 2019-01-09 14:33  yymor  阅读(126)  评论(0编辑  收藏  举报
>