zoukankan      html  css  js  c++  java
  • python正则表达式中括号的作用,形如 "(w+)s+w+"

    先看一个例子:

    import re

    string="abcdefg  acbdgef  abcdgfe  cadbgfe"

    #带括号与不带括号的区别
    regex=re.compile("((w+)s+w+)")
    print(regex.findall(string))
    #输出:[('abcdefg  acbdgef', 'abcdefg'), ('abcdgfe  cadbgfe', 'abcdgfe')]

    regex1=re.compile("(w+)s+w+")
    print(regex1.findall(string))
    #输出:['abcdefg', 'abcdgfe']

    regex2=re.compile("w+s+w+")
    print(regex2.findall(string))
    #输出:['abcdefg  acbdgef', 'abcdgfe  cadbgfe']

    第一个 regex 中带有2个括号,我们可以看到其输出是一个list中包含2个tuple。

    第二个 regex 中带有1个括号,其输出的内容就是括号匹配到的内容,而不是整个表达式所匹配到的结果。

    第三个 regex 中不带有括号,其输出的内容就是整个表达式所匹配到的内容。

    findall()返回的是括号所匹配到的结果,多个括号就会返回多个括号分别匹配到的结果,
    如果没有括号就返回就返回整条语句所匹配到的结果。

    参考链接:http://www.imooc.com/article/302796


    注:这个特性是正则表达式特有的,而不仅仅只是python语言。

  • 相关阅读:
    自动机实验
    11.11评论
    语法分析
    201406114257 张俊毅 词法分析 修改完
    201406114257 张俊毅 词法分析
    做汉堡
    复利计算5.0-结队
    《构建之法》第4章的感悟
    复利计算4.0单元测试
    实验一 命令解释程序的编写
  • 原文地址:https://www.cnblogs.com/xiaohaodeboke/p/11777984.html
Copyright © 2011-2022 走看看