• 正则表达式re模块的基础及简单应用


    一、re的简介

    • re模块是python独有的匹配字符串的模块
    • 该模块中的很多功能是基于正则表达式实现

    二、正则表达式的基础语法

    元字符匹配内容说明
    . 匹配除换行符以外的任意字符
    w 匹配字母或数字或下划线
    s 匹配任意的空白符
    d 匹配数字
    匹配一个换行符
    匹配一个制表符
     匹配一个单词的结尾
    ^ 匹配字符串的开始
    $ 匹配字符串的结束
    W 匹配非字母或数字或下划线
    D 匹配非数字
    S 匹配非空白符
    a|b 匹配字符a或字符b
    () 匹配括号内的表达式,也表示一个组
    [] 匹配字符组中的字符
    [^] 匹配除了字符组中字符的所有字符

    正则表达式中的量词

    量词用法说明
    * 重复零次或更多次
    + 重复一次或更多次
    ? 重复零次或一次
    {n} 重复n次
    {n,} 重复n次或更多次
    {n,m} 重复n到m次

    三、正则表达式的基础使用

    1、re中的group() 用法

    #创建正则表达式对象
    str_c = re.compile('hellod8')
    #group()方法得到匹配的字符串,如果字符串没有匹配,则返回None
    value = str_c.match('hello88').group()
    print( value )

    输出的结果为:hello58

    2、其他用法举例

    str1 = "come on! newdream "
    str2 = "china1usa2german3english"

    pattern0 = re.compile( r"(w+),(w+) (w+)(?P<sign>.*)" ) #加了原生字符串
    pattern1 = re.compile( r"come (w+)!" )
    pattern2 = re.compile( r"d" )


    # result1 = re.search( pattern1,str1 ) #扫描整个string查找匹配
    # result1 = re.split( pattern2,str2 ) #以数字切割
    # result1 = re.findall( pattern2,str2 ) #搜索string,以列表形式返回全部能匹配的子串
    result1 = re.finditer( pattern2,str2 ) #返回的是迭代器,列表输出
    for r in result1:
    print(r.group())
    print(result1)

    切割的另外一种写法,以数字切割举例:
    # 写法二:
    str2 = "china1user2man3english"
    v_list = re.split( r"d" ,str2 )
    print( v_list )



    参考链接:https://www.cnblogs.com/dream66/p/12953729.html

  • 相关阅读:
    NeatUpload 同时选择并上传多个文件
    前言
    11:连续出现的字符(1.9)
    06笨小猴(1.9)
    05:最大值和最小值的差(1.9)
    02:输出最高分数的学生姓名(1.9)
    04:谁拿了最多奖学金(1.9)
    03 不高兴的津津(1.9)
    01:查找特定的值(1.9)
    1813(2.1)
  • 原文地址:https://www.cnblogs.com/123anqier-blog/p/13303191.html
Copyright © 2020-2023  润新知