#正则表达式之 match以及分组
 import re
 #无分组
 origin = "hello alex bcd alex lge alex avd 19"
 r = re.match ("h\w+",origin)
 print(r.group())      #获取匹配到的所有结果
 print(r.groups())     #获取模型中匹配到的分组结果
 print(r.groupdict())  #获取模型中匹配的分组结果
 hello
 ()
 {}

 #有分组
 #为何要有分组? 提取匹配成功的制定内容(先欧赔成功全部正则,在再匹配成功的局部内容提取出来)

 origin = "hello alex bcd alex lge alex avd 19"
 r = re.match("(?P<n1>h)(?P<n2>\w+)",origin)
 print(r.group())      #获取匹配到的所有结果
 print(r.groups())     #获取模型中匹配到的分组结果
 print(r.groupdict())  #获取模型中匹配到的分组中所有执行了key的组
 hello
 ('h', 'ello')
 {'n1': 'h', 'n2': 'ello'}

 --------------------------------------------------------------------------------------------------------------
 #正则表达式之findall
 import re

 origin = "hello alex alex bcd abcd lge acd 19"
 r = re.findall("(a)(\w+)(x)",origin)
 print(r)
 [("a","le","x"),("a","le","x")]

 a = "alex"
 n = re.findall("(\w)(\w)(\w)(\w)",a)
 print(n)
 [('a', 'l', 'e', 'x')]

 n = re.findall("(\w)*",a)
 print(n)
 ['x', '']

 n =re.findall("","abcd")
 print(n)
 ['', '', '', '', '']

 -----------------------------------------
 #正则表达式之sub,subn
 import re
 origin = "1fsdfsd234sdfsdfdfgrm456gfhkbss34"
 new_str = re.sub("\d+","kkk",origin)
 print(new_str)
 kkkfsdfsdkkksdfsdfdfgrmkkkgfhkbsskkk

 origin ="1fdfsffsd234gdsgertsg456gsfsf34"
 new_str,count = re.subn("\d+","kkk",origin)
 print(new_str,count)
 ('kkkfdfsffsdkkkgdsgertsgkkkgsfsfkkk', 4)

正则表达式之 match , findall, sub,subn的更多相关文章

  1. Python: 字符串搜索和匹配,re.compile() 编译正则表达式字符串,然后使用match() , findall() 或者finditer() 等方法

    1. 使用find()方法 >>> text = 'yeah, but no, but yeah, but no, but yeah' >>> text.find( ...

  2. 正则表达式之match方法

    一直以来,对正则表达式都是非常的恐惧的,以至于学习接口自动化时,到了正则,我就想放弃,于是乎,我将近有一个多月没有继续学习.某天睡醒,阳光正好,摊在床上冥想,我不能被眼前的坎挡住了我前进的路呀,说干就 ...

  3. 每天一点python:正则表达式中的findall方法

    举例:使用findall获取所有匹配的正则表达式文本,然后逐一替换. #! python3 """ A regular expression example: find ...

  4. 正则表达式之match与exec【转的 楼兰之风】

    彻底领悟javascript中的exec与match方法 阅读本文之前,请先看下面一道题: 题目17:Read the following javascript code: var someText= ...

  5. C#正则表达式类Match和Group类的理解

    正则表达式可以看做一种有特定功能的小型编程语言,在一段文本中定位子字符串.利用正则表达式可以快速地分析大量的文本以找到特定的字符模式:提取.编辑.替换或删除文本子字符串:或将提取的字符串添加到集合.正 ...

  6. 正则表达式test match exec search

    (1)((2))(3)   $1  是第一个括号 $2  是第二个括号 $3  是第二个括号中的括号 $4  是第三个括号     http://www.jb51.net/article/28007. ...

  7. python正则表达式(3)--match方法

    1.re.match函数 re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回None. (1)函数语法: re.match(pattern, st ...

  8. python 正则表达式 re.match

    #coding:utf-8 import re #匹配内容:单词+空格+单词+任意字符 #\w 单词字符[A-Za-z0-9_] #(?P<name>...) 分组,除了原有的编号外在指定 ...

  9. Python正则表达式re.match(r"(..)+", "a1b2c3")匹配结果为什么是”c3”?

    在才开始学习正则表达式处理时,老猿对正则表达式:re.match(r"(-)+", "a1b2c3") 返回的匹配结果为"c3"没有理解,学 ...

随机推荐

  1. [翻译]用Dart塑造Android未来

    明天回家,今天下午瞅时间翻译了Cyril Mottier的另外一篇有关Android前景的文章. 原谅地址是:http://cyrilmottier.com/2014/06/12/shaping-th ...

  2. Sqoop自定义多字节列分隔符

    Sqoop提供的--fields-terminated-by选项可以支持指定自定义的分隔符,但是它只支持单字节的分隔符,对于我们特殊的需求:希望使用双字节的“|!”,默认的是不支持的. Sqoop在进 ...

  3. iOS基础 - KVC and KVO

    一.KVC(key value coding) 我们一般是通过调用set方法或属性的点语法来直接更改对象的状态,即对象的属性值,比如[stu setAge:10];  stu.age = 9; KVC ...

  4. [转]How WebKit’s Event Model Works

    原文:https://homes.cs.washington.edu/~burg/projects/timelapse/articles/webkit-event-implementation/ Fi ...

  5. C# 号码归属地查询算法

    C# 号码归属地查询算法(根据Android来电归属地二进制文件查询修改) 前言 近期有个项目需要用到号码归属查询,归属地数据库可能比不上ip138,淘宝上也有卖的-,-! 文本提供一个279188条 ...

  6. iOS 7用户界面过渡指南

    iOS 7用户界面过渡指南 泽涛陈 | 交互设计 视觉设计 译译生辉 | 2013.06.26 本文最新PDF格式文档下载: http://vdisk.weibo.com/s/InBpB(2013年7 ...

  7. windows下配置PHP+Nginx+MySQL完整流程(转)

    对于在windows上的php+nginx的配置可能好多同学一次根本都配不正确,于我也是如此,为此我将我成功配置的过程细致的总结如下,希望能帮助搞PHP研究的同学 1.资源准备 MySQL:这个链接不 ...

  8. JavaScript –type

    JavaScript –类型之我晕 每次写博我觉得取上恬当的题目比整篇行文都难,词量有限的情况下突然想到JavaScript拾遗应该会是一个非常文艺而夺目的博文题目,但我并没有急着使用,经验告诉我应该 ...

  9. Android开发问题集锦-Button初始为disable状态时自定义的selector不生效问题

    1.下面是不生效的布局: selector_btn_red.xml: <?xml version="1.0" encoding="utf-8"?> ...

  10. Android 短信模块分析(三) MMS入口分析

    MMS入口分析:      在Mms中最重要的两个Activity,一个是conversationList(短信列表) ,另一个就是ComposeMessageActivity(单个对话或者短信).每 ...