python re正则表达式

目录

  正则表达式

  re

正则表达式

  正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。

  正则表达式是所有的语言都可以使用。

字符组:

字符:

量词

量词必须跟在正则符号的后面,量词只能够限制紧挨着它的那一个正则符号。

分组()

  有多个正则符号需要重复多次的时候或者当成一个整体进行操作,那么就可以进行分组。

贪婪匹配

  只要满足满足匹配的要求,结果都会匹配出来,我们把这样的匹配叫做贪婪匹配。

  note:在匹配的时候默认是贪婪匹配。

取消贪婪匹配

  可以在量词的后面加上一个?就可以将贪婪匹配变成非贪婪匹配。

 re模块

  re 模块使 Python 语言拥有全部的正则表达式功能。

re.findall

  在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。

  语法:

re.findall(pattern, string, flags=0)
# or
pattern.findall(string[, pos[, endpos]])

  Example:

import re

res = re.findall('a','zhuang jason tank')
if res:
    print(res)

  

re.search

  re.search 扫描整个字符串并返回第一个成功的匹配。

语法:

re.search(pattern, string, flags=0)

案例:

import re

res= re.search('a','zhuang ason ank')
if res:
    print(res.group())

  

re.macth

  从字符串的开头开始匹配,匹配到一个或多个返回匹配对象,没有匹配到返回None。

  note:

    1. 多行情况下,只会从头开始匹配,不会匹配多行的开头。

  语法:

re.match(pattern, string, flags=0)

  说明:

    pattern:正则表达式

    string:被匹配的字符串

    flags:用于控制正则表达式的匹配方式。如:是否区分大小写,多行匹配等。

    https://docs.python.org/zh-cn/3/library/re.html

  案例:

import re

res = re.match('z','zhuang')
print(res)  # <re.Match object; span=(0, 1), match='z'>
print(res.group())  # z

res2 = re.match('a','zhuang')
print(res2)  # None
print(res2.group())  # AttributeError: 'NoneType' object has no attribute 'group'

  

 

 

 

  

  

 
posted @ 2020-03-30 16:45  zhuang6  阅读(191)  评论(0)    收藏  举报