美文网首页python初学
python正则表达式

python正则表达式

作者: Margolu | 来源:发表于2020-09-14 21:08 被阅读0次

    re模块

    re.match从字符串的起始位置匹配一个规则,匹配成功就返回match对象,否则返回None,使用group()获取匹配成功的字符串

    语法:re.match(pattern,string,flags=0)

    参数说明:

    pattern:匹配的正则表达式

    string:要匹配的字符串

    flags:标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等.flag可选标志位

    re.I:使匹配对大小写不敏感

    re.L:做本地化识别匹配

    re.M:多行匹配,影响^和$

    re.S:使.匹配包括换行在内的所有字符

    match只能匹配以‘xxx’开头.

    使用group(num)或groups()匹配对象函数来获取匹配表达式

    常用的匹配规则-匹配字符

    .匹配除了换行符以外的任意一个字符

    [abc]匹配中括号中集合的任意一个字符,a或b或c

    扩大选择范围[a-z]即可匹配任意一个小写英文字母同理[A-Z]匹配任意一个大写英文字母

    \d匹配一个数字,即0-9

    \s匹配一个空白字符或tab键,\S匹配一个非空白字符

    \w匹配单词字符,即a-z,A-Z,0-9,\W匹配一个非单词字符,比如_,空格

    常用的匹配规则-匹配字符数量

    *匹配前一个字符出现0次或者无限次,即可有可无

    +匹配前一个字符出现一次或无限次,即至少一次

    比如使用一个表达式检验字符串是否符合Python变量命名标准(不能以数字开头,只能包含数字字母下划线)

    ?匹配前导字符出现0次或1次

    {m}精确匹配前一个字符出现m次

    {m,}匹配前一个字符至少出现m次

    {min,max}匹配前导字符出现从min到max次,min和max都是非负整数

    验证163邮箱正则表达式demo

    常用的匹配规则-原生字符串

    \,用\\来输出\

    r'xxx'表示原样输出,不进行转意

    ^匹配字符串开头

    $匹配字符串结尾 

    正则表达式匹配邮箱以m结尾

    常用的匹配规则-分组匹配

    |:匹配左右任意一个表达式,从左至右

    (ab)将括号中字符作为一个分组

    \num引用分组num匹配到的字符串

    (?p)分组起别名

    (?P=name)引用别名为name分组匹配到的字符串

    re.compile方法

    compile将正则表达式模式编译成为一个正则表达式对象

    reg = re.compile(pattern)

    result = reg.match(string)

    等效于result = re.match(pattern,string)

    使用re.compile()和保存所产生的正则表达式对象重用效率更高

    re.search方法

    search在全文中匹配一次,匹配到就返回

    语法:re.search(pattern,string,flags=0)

    函数参数说明:

    pattern:匹配的正则表达式

    string:要匹配的字符串

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

    re.findall()查询字符串中某个正则表达式全部的非重复出现的情况,返回的是一个结果列表

    re.sub 将匹配到的数据进行替换

    语法:sub(pattern,repl,string,count=0,flags=0)

    参数说明:

    pattern:正则中的模式字符串

    repl:替换的字符串,也可以是一个函数

    string:被查找的原始字符串

    flags:标志位,用于控制正则表达式的匹配方式

    re.subn 实现目标的搜索和替换,返回被替换的数量,以元组的形式

    re.split 根据匹配进行切割字符串,并返回一个列表

    语法:split(pattern,string,maxsplit=0,flags=0)

    参数说明:

    pattern:匹配的正则表达式

    string:要匹配的字符串

    maxsplit:分隔次数,maxsplit=1分隔一次,默认为0,不限制次数,

    flags:标志位,用于控制正则表达式的匹配方式

    相关文章

      网友评论

        本文标题:python正则表达式

        本文链接:https://www.haomeiwen.com/subject/nlmaektx.html