python 正则表达式的使用
2024-10-13 05:54:56
本文以例子的形势,介绍如何在python中使用正则表达式。
Example1
#!/usr/bin/python
import re
import sys
pattern = re.compile(r'[a-zA-Z]+\s+[0-9]+')
match = pattern.match(u"ni 12222")
print match
if match:
print match.group()
output:
ni 12222
re.match用法
re.match(pattern, string, flags=0)
参数
- patten : 正则表达式
- string: 要匹配的表达式
- flags: 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等,可参考http://www.runoob.com/python/python-reg-expressions.html#flags
返回值
匹配成功re.match方法返回一个匹配的对象,否则返回None。
可以使用group或groups等函数查看匹配结果。
group([group1, …]):
获得一个或多个分组截获的字符串;指定多个参数时将以元组形式返回。group1可以使用编号也可以使用别名;编号0代表整个匹配的子串;不填写参数时,返回group(0);没有截获字符串的组返回None;截获了多次的组返回最后一次截获的子串。groups([default]):
以元组形式返回全部分组截获的字符串。相当于调用group(1,2,…last)。default表示没有截获字符串的组以这个值替代,默认为None。
Example2
#!/usr/bin/python
# -*- coding: utf-8 ------*-------
import re
import sys
pattern = re.compile(r'([a-zA-Z]+)\s+([0-9]+)')
match = pattern.match(u"ni 12222")
print match
if match:
print "group():", match.group()
print "group(1):", match.group(1)
print "group(2)", match.group(2)
print "groups()", match.groups()
output:
group():ni 12222
group(1):ni
group(2):12222
groups():(u'ni', u'12222')
re.match与re.search的区别
re.search参数和使用方法同re.match。
其区别是:
re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。
参考
http://www.runoob.com/python/python-reg-expressions.html
https://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html
最新文章
- [AlwaysOn Availability Groups]使用Powershell监控AlwayOn健康
- HTML学习
- Shell scripts to Create a local dir base on the time.
- java方法重载(overload)、重写(override);this、super关键简介
- ASP.net MVC 学习笔记(一)-一些不同点
- BEA-WEBLOGIC ---http://www.beansoft.biz/weblogic/docs92/index.html
- Virtualizing WrapPanel VS toolkit:WrapPanel
- Android学习----Android Studio 技巧汇总
- .net—— webservice的新建、发布、使用(最全、最简单)【原创】
- 剑指offer面试题14-调整数组顺序使奇数位于偶数前面
- 关于BDD100k数据输入处理mask变为56*56
- Oracle优化器基础知识之访问数据的方法
- canner CMS 系统 (公司在台湾) https://www.canner.io/
- js 库
- switchyomega插件的基本使用
- 7.翻译:EF基础系列---EF中的实体类型
- 【Hibernate学习笔记-4】在hibernate.cfg.xml中配置C3P0数据源
- 远程监视jboss应用java内存的配置
- java并发编程实战:第十五章----原子变量与非阻塞机制
- PHP之string之addcslashes()函数使用
热门文章
- xmind visio mindmanager edraw比较
- CCF 2015-03-4 网络延时
- Oracle 固定执行计划-使用SPM(Sql Plan Management)固定执行计划
- Java——IO类,字节流写数据
- Android Touch事件之一:Touch事件在父ViewGroup和子View之间的传递篇
- 对HTML(HyperText Markup Language)的认识以及总结
- “开始菜单”按钮今年8月将重回Windows 8
- API - jQuery之操作cookie(转)
- [转载]三款SDR平台对比:HackRF,bladeRF和USRP
- 一起来点React Native——常用组件之Image