• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Python正则表达式中的re.S的作用详解

    Python 正则表达式

    正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。
    Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。
    re 模块使 Python 语言拥有全部的正则表达式功能。
    compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。

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

    本章节给大家介绍Python正则表达式中的re.S的作用,具体内容如下所示:

    在Python的正则表达式中,有一个参数为re.S。它表示“.”(不包含外侧双引号,下同)的作用扩展到整个字符串,包括“\n”。看如下代码:

     import re
    a = '''asdfsafhellopass:
     234455
     worldafdsf
     '''
    b = re.findall('hello(.*?)world',a)
    c = re.findall('hello(.*?)world',a,re.S)
    print 'b is ' , b
    print 'c is ' , c

    运行结果如下:

     b is  []
    c is  ['pass:\n\t234455\n\t'] 

    正则表达式中,“.”的作用是匹配除“\n”以外的任何字符,也就是说,它是在一行中进行匹配。这里的“行”是以“\n”进行区分的。a字符串有每行的末尾有一个“\n”,不过它不可见。

    如果不使用re.S参数,则只在每一行内进行匹配,如果一行没有,就换下一行重新开始,不会跨行。而使用re.S参数以后,正则表达式会将这个字符串作为一个整体,将“\n”当做一个普通的字符加入到这个字符串中,在整体中进行匹配。

    在re.py库的介绍中有以下语句:

    “.” Matches any character except a newline.
    S DOTALL “.” matches any character at all, including the newline.

    您可能感兴趣的文章:
    • python re正则匹配网页中图片url地址的方法
    • python中正则表达式 re.findall 用法
    • python中redis查看剩余过期时间及用正则通配符批量删除key的方法
    • Python3正则匹配re.split,re.finditer及re.findall函数用法详解
    • Python3中正则模块re.compile、re.match及re.search函数用法详解
    • Python正则表达式和re库知识点总结
    上一篇:正则表达式re.sub替换不完整的问题及完整解决方案
    下一篇:只能输入正整数的正则表达式及常用的正则表达式
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Python正则表达式中的re.S的作用详解 Python,正则,表达式,中的,