#正则表达式之 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. SpringMVC类型转换、数据绑定

    SpringMVC类型转换.数据绑定详解[附带源码分析] 目录 前言 属性编辑器介绍 重要接口和类介绍 部分类和接口测试 源码分析 编写自定义的属性编辑器 总结 参考资料 前言 SpringMVC是目 ...

  2. Jquery Validate 表单验证的多种方式

    ASP.NET MVC Jquery Validate 表单验证的多种方式 在我们日常开发过程中,前端的表单验证很重要,如果这块处理不当,会出现很多bug .但是如果处理的好,不仅bug会很少,用户体 ...

  3. 用MVC+EF快速弄出一个CRUD

    瞧一瞧,看一看呐,用MVC+EF快速弄出一个CRUD,一行代码都不用写,真的一行代码都不用写!!!! 现在要写的呢就是,用MVC和EF弄出一个CRUD四个页面和一个列表页面的一个快速DEMO,当然是在 ...

  4. noip模拟赛:部队[技巧?思想?]

    王国军总指挥——卡西乌斯准将决定重建情报局,需要从全国各地挑选有能力的士兵,选择的标准为A,B两种能力.对于每个候选士兵,如果存在另一名士兵的两项能力均大于等于他,那么他将被淘汰.(注意:若两名士兵两 ...

  5. net破解一(反编译,反混淆-剥壳,工具推荐)

    net破解一(反编译,反混淆-剥壳,工具推荐) 大家好,前段时间做数据分析,需要解析对方数据,而数据文件是对方公司内部的生成方式,完全不知道它是怎么生成的. 不过还好能拿到客户端(正好是C#开发)所以 ...

  6. vm_write

    #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types. ...

  7. [RM 状态机详解4] RMNode状态机详解

    摘要 RMNode状态机是ResourceManager的四个状态机(RMApp,RMAppAttempt,RMContainer,RMNode)中最简单的一个,状态机如图1所示.RMNode是Res ...

  8. Oracle随机获取记录

    , )) RANDOMNUM FROM DUAL) B ORDER BY B.RANDOMNUM

  9. JS自动刷新页面一次

    <script type="text/javascript"> //刷新页面 if(location.href.indexOf("refresh=1" ...

  10. Linux学习之系统的构建

    实验环境:ubuntu 12.04 LTS 内核版本:linux-3.9.4 因为一直以来都对Linux的工作机理比较感兴趣,所以正好这两天有机会好好的研究一下,那闲话不多说,直接进入正题. 俗话说的 ...