#正则表达式之 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. 【欧拉计划4】Largest palindrome product

    欢迎访问我的新博客:http://www.milkcu.com/blog/ 原文地址:http://www.milkcu.com/blog/archives/1371281760.html 原创:[欧 ...

  2. 实现$.fn.extend 和$.extend函数

    Jquery揭秘系列:实现$.fn.extend 和$.extend函数   前面我们扩展了bind方法和ready函数,这次我要讲一下$.fn.extend 和$.extend函数. 其他的不多说, ...

  3. JS函数实现金额小写转大写

    ///<summery>小写金额转化大写金额</summery> function AmountLtoU(amount) { if (isNaN(amount) || amou ...

  4. C/C++基础知识总结——继承与派生

    1. 类的继承与派生 1.1 派生类的定义 (1) 定义规范 class 派生类名: 继承方式 基类1名, 继承方式 基类2名... { ...派生类成员声明; }; (2) 从以上形式上看可以多继承 ...

  5. [转]UIWebView的Javascript运行时对象

    An alternative, that may get you rejected from the app store, is to use WebScriptObject. These APIs ...

  6. 【CSS】圆角阴影边框CSS

    .someClassName { width:300px; display: inline-block; padding: 5px 10px 6px; text-decoration: none; b ...

  7. jQuery特殊符号转义

    我们在使用jquery选择器的时候 对一些ID属性中有特殊符号的地方需要进行转义. 列举部分如下: <input id="entity.username" type=&quo ...

  8. 初始化IoC容器(Spring源码阅读)

    初始化IoC容器(Spring源码阅读) 我们到底能走多远系列(31) 扯淡: 有个问题一直想问:各位你们的工资剩下来会怎么处理?已婚的,我知道工资永远都是不够的.未婚的你们,你们是怎么分配工资的? ...

  9. QSQL导出mapfile和mapfile中PostGIS连接的一点心得

    昨天弄QSQL导出mapfile,一直遇到下图的错误 原因是QGIS在渲染图层时候使用了新的符号,在图层上右键-属性,如下图将符号修改就OK了 然后我尝试使用QGIS连接本机PostGIS数据,结果老 ...

  10. 彩蛋 Python之道

    彩蛋 Python之道 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 使用下面的语句可以调出Python中的一个彩蛋, impo ...