• 正则表达式


     正则表达式是由普通字符及特殊字符(称为元字符)组成的文字模式,元字符(包含特殊含义,如果要作为普通字符使用,则需要转义)包括:. ^ $ + ? { } [ ] | ( ) 。例如:

    "Go"   # 匹配字符串"Good Good"中的"Go"
    "G.d"  #匹配字符串"Good Good"中的"God",  . 为元字符,匹配除行终止符外的任何字符
    "d $"   #匹配字符串"Good Good"中的最后一个"d",$ 为元字符,匹配结尾   

    python的re模块实现了正则表达式处理的功能。导入re模块后,使用findall、search函数可以进行匹配:

    re.findall(pattern,string): 返回匹配结果列表
    re.search(pattern,string):如果匹配,返回Match对象,否则返回None。

    例如:

    >>> import re   #导入re模块
    >>> re.findall('d','godness')
    ['d']

    正则表达式中包含你特殊字符,例如: 表示单词边界;而字符串中的转义字符  表示退格字符。因此在正则表达式中,这些与标准转义字符重复的特殊符号必须使用两个反斜线字符('\'),或者使用原始字符串(r" ") 或 (r' ')。

    >>> re.findall("on","only on air")
    []
    >>> re.findall("\bon\b","only on air")
    ['on']
    >>> re.findall(r"on","only on air")
    ['on']

    字符类是由一对方括号[ ]括起来的字符集合,正则表达式引擎匹配字符集中的任意一个字符。字符类的定义方式包括以下几种。

    [xyz]:枚举字符集,匹配括号中的任意字符。例如,“t[aeio]n”匹配“tan”、"ten"、"tin"、"ton"。

    [^xyz]:否定枚举字符集,匹配不在此括号中的任意字符。

    [a-z]:指定范围的字符,匹配指定范围的任意匹配。

    [^a-z]:指定范围以外的字符,匹配指定范围以外的任意字符。

    例如:
    >>> re.findall("fo[xr]","the quick brown fox jumps for food")
    ['fox', 'for']

     常用的预定义字符类

    预定义字符 说明
    . 除行终止符外的任何字符
    d 数字。等价于[0-9]
    D 非数字。等价于[^0-9]
    s 空白字符。等价于[ fv]
    S 非空白字符。等价于[^ fv]
    w 单词字符。等价于[a-zA-Z0-9]
    W 非单词字符。等价于[^a-zA-Z0-9]
  • 相关阅读:
    MyPHPdumpTool:MySQL 数据库备份处理方案
    sdcvx:轻量级的词典工具
    Fedora中你用GNOME还是KDE?
    Linux/GNU课程
    Fireflix:便利 Flickr 用户的 Firefox 扩展
    gtkchtheme
    recordMyDesktop:录制你的 Linux 桌面
    Fedora 8.0 NS2.33拆卸手记
    办理selinux招致无法进入零碎
    ie在Ubuntu8.04下的安装进程
  • 原文地址:https://www.cnblogs.com/zhangzimu/p/8404540.html
Copyright © 2020-2023  润新知