正则表达式之 match , findall, sub,subn
#正则表达式之 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的更多相关文章
- Python: 字符串搜索和匹配,re.compile() 编译正则表达式字符串,然后使用match() , findall() 或者finditer() 等方法
1. 使用find()方法 >>> text = 'yeah, but no, but yeah, but no, but yeah' >>> text.find( ...
- 正则表达式之match方法
一直以来,对正则表达式都是非常的恐惧的,以至于学习接口自动化时,到了正则,我就想放弃,于是乎,我将近有一个多月没有继续学习.某天睡醒,阳光正好,摊在床上冥想,我不能被眼前的坎挡住了我前进的路呀,说干就 ...
- 每天一点python:正则表达式中的findall方法
举例:使用findall获取所有匹配的正则表达式文本,然后逐一替换. #! python3 """ A regular expression example: find ...
- 正则表达式之match与exec【转的 楼兰之风】
彻底领悟javascript中的exec与match方法 阅读本文之前,请先看下面一道题: 题目17:Read the following javascript code: var someText= ...
- C#正则表达式类Match和Group类的理解
正则表达式可以看做一种有特定功能的小型编程语言,在一段文本中定位子字符串.利用正则表达式可以快速地分析大量的文本以找到特定的字符模式:提取.编辑.替换或删除文本子字符串:或将提取的字符串添加到集合.正 ...
- 正则表达式test match exec search
(1)((2))(3) $1 是第一个括号 $2 是第二个括号 $3 是第二个括号中的括号 $4 是第三个括号 http://www.jb51.net/article/28007. ...
- python正则表达式(3)--match方法
1.re.match函数 re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回None. (1)函数语法: re.match(pattern, st ...
- python 正则表达式 re.match
#coding:utf-8 import re #匹配内容:单词+空格+单词+任意字符 #\w 单词字符[A-Za-z0-9_] #(?P<name>...) 分组,除了原有的编号外在指定 ...
- Python正则表达式re.match(r"(..)+", "a1b2c3")匹配结果为什么是”c3”?
在才开始学习正则表达式处理时,老猿对正则表达式:re.match(r"(-)+", "a1b2c3") 返回的匹配结果为"c3"没有理解,学 ...
随机推荐
- 【转】GIT和SVN之间的五个基本区别
如果你在读这篇文章,说明你跟大多数开发者一样对GIT感兴趣,如果你还没有机会来试一试GIT,我想现在你就要了解它了. GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等.如果 ...
- 安装mysql-python报错:UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 65: ordinal not in range(128)
安装mysql-python报错: UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 65: ordinal n ...
- Maven中有三大模块
Maven中有三大模块 在Maven中有三大模块,分别是依赖.仓库.生命周期和插件,我们接下来下来介绍下依赖,为了方便起见我们还是以案例来说: 1.首先建立一个maven项目,这里我建立一个user的 ...
- “MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第四篇(用户管理功能的实现)
“MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第四篇(用户管理功能的实现) 一.前三篇的内容是否对您有帮助呢?如果有的话,请您继续关注这篇吧,这篇主要是实现”用户管理“的 ...
- vmstat命令查看系统资源占用情况
vmstat是一个十分有用的Linux系统监控工具,使用vmstat命令可以得到关于进程.内存.内存分页.堵塞IO.traps及CPU活动的信息.可用以下命令查看: # vmstat 2 直接查看系统 ...
- mysql基础:数据库的创建,增删改查
=============查看数据库========================== 使用SHOW语句找出服务器上当前存在什么数据库: mysql> SHOW DATABASES; +--- ...
- Android仿人人客户端(v5.7.1)——新鲜事之完整篇
转载请标明出处: http://blog.csdn.net/android_ls/article/details/9228083 声明:仿人人项目,所用所有图片资源都来源于其它Androi ...
- [Python]根据地址从maps文件中找相应的库名
/proc/PID/maps提供了进程的memory layout,下面脚本根据给定地址找出相应的库名: #!/usr/bin/python from __future__ import print_ ...
- CSUOJ 1299 - Number Transformation II 打表预处理水DP
http://122.207.68.93/OnlineJudge/problem.php?id=1299 第二个样例解释.. 3 6 3->4->6..两步.. 由此可以BFS也可以DP. ...
- Android 权限管理
从 Android 6.0(API 级别 23)开始,用户开始在应用运行时向其授予权限,而不是在应用安装时授予.此方法可以简化应用安装过程,因为用户在安装或更新应用时不需要授予权限.它还让用户可以对应 ...