正则

来源:互联网 发布:团队协同软件 编辑:程序博客网 时间:2024/06/13 21:50

正则对数据处理,数据分析,数据校验方面十分有用。

让我们来学习下python中的正则模块吧


---------------------分割线---------------------

python中正则模块re(regex的意思)

常用的模式:

      .匹配任意字符,除了换行符

     \s一个空格

    \S一个非空格

    \d表示一个数字

    \D表示一个非数字

    \w匹配任意字母数字【0-9】【a-z】

    \W匹配任意非字母数字

   【】 序列 eg:【a-z】:a到z中任意一个


边界和量:

     ^以开头/不包含xx  eg:【^abc】:不包含abc的序列

     $以结尾

     ?0或1个匹配

     +1到任意多个匹配

     * 0到任意多个匹配

     {n,m}n到m个匹配项(n<m)


关系

    | 或

   () 组


python中对应的函数:

     re.match(pattern,String):从字符串的起始位置匹配一个模式,匹配成功返回StringObject,否则返回none

     re.search(pattern,String):扫描整个字符串并返回第一个成功匹配的StringObject,否则返回none

     re.sub(pattern, repl,string, count=0)


           参数详解:pattern : 正则中的模式字符串。

                             repl    : 替换的字符串,也可为一个函数。

                             string : 要被替换的原始字符串。

                             count : 替换次数


-----------------奉上实例demo

import  res1="I am apple"s2="I am pen"s3="AHA,I am applepen"
----re.match(pattern,String)
result1=re.match(r".*I am.*",s1)  #在s1开头匹配"I am"print(result1)#<_sre.SRE_Match object; span=(0, 10), match='I am apple'>print(result1.group())#I am apple
result2=re.match(r".*I am.*",s3)  #在s3开头匹配"I am"print(result1)#none
----re.search(pattern,String
result3=re.search(r".*I am.*",s3) #在s3中匹配"I am",若有返回s3print(result3)#<_sre.SRE_Match object; span=(4, 17), match='I am applepen'>print(result3.group())#I am applepen
----re.result4=re.sub(r"I am ","he is ",s3)#将s3中的"I am "替换为"he is "print(result4)    #AHA,he is applepen


  











原创粉丝点击