zoukankan      html  css  js  c++  java
  • python(23)re函数:compile、match、search、findall

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

    Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。

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

    compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。

    使用样例:

    ch_regx = re.compile('0000,0000,0000,,(.*?)\N',re.S)
    ch_data = re.findall(ch_regx,content)[0].replace("-","")

    re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。

    参数说明:

    函数参数说明:

    参数描述
    pattern 匹配的正则表达式
    string 要匹配的字符串。
    flags 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。

     

     

     

     

    re.match函数:

    match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。

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

    匹配结果:re.match匹配成功会返回一个对象,否则返回None。

    用group(num=0)或groups()来获取匹配的结果

    re.search函数:

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

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

    参数如上

    匹配结果:如果匹配成功则返回一个匹配的对象,否则返回None。

    用group(num=0)或groups()来获取匹配的结果。

    re.findall函数:

    扫描整个字符串,然后把匹配到的内容以列表的形式返回。

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

     

     正则表达式修饰符-可选标志:

    正则表达式可以包含一些可选标志修饰符来控制匹配的模式。修饰符被指定为一个可选的标志。

    多个标志可以通过按位 OR(|) 它们来指定。如 re.I | re.M 被设置成 I 和 M 标志:

    修饰符描述
    re.I 使匹配对大小写不敏感
    re.L 做本地化识别(locale-aware)匹配
    re.M 多行匹配,影响 ^ 和 $
    re.S 使 . 匹配包括换行在内的所有字符
    re.U 根据Unicode字符集解析字符。这个标志影响 w, W, , B.
    re.X 该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解。
  • 相关阅读:
    Gretna2.0 使用过程中遇到的问题
    在外星人电脑上安装windows10和ubuntu16.04双系统小记
    Mac OS下PHP开发环境的搭建——基于XAMPP和IntelliJ IDEA
    在Kali上安装打印机
    Rails中关联数据表的添加操作(嵌套表单)
    痛苦的人生——JRuby on Rails的开发与部署小记
    Word技巧杂记(二)——批量修改修订格式并接受
    Ruby学习(三)——类与对象(1)
    Ruby学习笔记(二)——从管道读取数据
    Word技巧杂记(一)——去掉页眉上方的黑线
  • 原文地址:https://www.cnblogs.com/lovychen/p/5785122.html
Copyright © 2011-2022 走看看