python 正则表达式的使用
本文以例子的形势,介绍如何在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
python 正则表达式的使用的更多相关文章
- Python 正则表达式入门(中级篇)
Python 正则表达式入门(中级篇) 初级篇链接:http://www.cnblogs.com/chuxiuhong/p/5885073.html 上一篇我们说在这一篇里,我们会介绍子表达式,向前向 ...
- Python正则表达式中的re.S
title: Python正则表达式中的re.S date: 2014-12-21 09:55:54 categories: [Python] tags: [正则表达式,python] --- 在Py ...
- Python 正则表达式入门(初级篇)
Python 正则表达式入门(初级篇) 本文主要为没有使用正则表达式经验的新手入门所写. 转载请写明出处 引子 首先说 正则表达式是什么? 正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达 ...
- python正则表达式re
Python正则表达式: re 正则表达式的元字符有. ^ $ * ? { [ ] | ( ).表示任意字符[]用来匹配一个指定的字符类别,所谓的字符类别就是你想匹配的一个字符集,对于字符集中的字符可 ...
- Python正则表达式详解
我用双手成就你的梦想 python正则表达式 ^ 匹配开始 $ 匹配行尾 . 匹配出换行符以外的任何单个字符,使用-m选项允许其匹配换行符也是如此 [...] 匹配括号内任何当个字符(也有或的意思) ...
- 比较详细Python正则表达式操作指南(re使用)
比较详细Python正则表达式操作指南(re使用) Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式.Python 1.5之前版本则是通过 regex 模块提供 E ...
- Python正则表达式学习摘要及资料
摘要 在正则表达式中,如果直接给出字符,就是精确匹配. {m,n}? 对于前一个字符重复 m 到 n 次,并且取尽可能少的情况 在字符串'aaaaaa'中,a{2,4} 会匹配 4 个 a,但 a{2 ...
- python正则表达式 小例几则
会用到的语法 正则字符 释义 举例 + 前面元素至少出现一次 ab+:ab.abbbb 等 * 前面元素出现0次或多次 ab*:a.ab.abb 等 ? 匹配前面的一次或0次 Ab?: A.Ab 等 ...
- Python 正则表达式-OK
Python正则表达式入门 一. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分. 正则表达式是用于处理字符串的强大工具, 拥有自己独特的语法以及一个独立的处理引擎, 效率上 ...
- Python天天美味(15) - Python正则表达式操作指南(re使用)(转)
http://www.cnblogs.com/coderzh/archive/2008/05/06/1185755.html 简介 Python 自1.5版本起增加了re 模块,它提供 Perl 风格 ...
随机推荐
- 使用路径arc
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> < ...
- React Js之组件(Component)与state
React Js组件: 组件(Component)是为了更好的维护我们的应用,可以在不影响其他的组件的情况下更新或者更改组件. state:是标记数据的来源,我们使state比较简单和单一,如果我们有 ...
- Vysor_v1.6.9
---恢复内容开始--- 装系统 D:\home sys 触摸板驱动 1 D:\envs\common\jdk jdk安装 2 DriveTheLife 3 img 4 PCMaster 5 Sogo ...
- (剑指Offer)面试题59:对称的二叉树
题目: 请实现一个函数,用来判断一颗二叉树是不是对称的. 注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的. 思路: 对于一棵二叉树,从根结点开始遍历, 如果左右子结点有一个为NULL,那 ...
- repeat 中的 continue
repeat a := -; then ShowMessage('') else begin Caption := ''; Continue;//不是立即 向上 返回 执行,要先向下 检查循环条件 是 ...
- PHP生成GIF动态图片验证码
<?php /** * 调用示例 * */ session_start(); $randCode = ''; //验证码随机 $str="abcdefghjkmnpqrstuvwsyz ...
- Arithmometer: A Node.js implementation
Foreword: This project is a part of pair programming task. We implement an command-line based arithm ...
- 软工作业No.4
2048小游戏—设计开发 软件需求规格说明书 甜美女孩 2018年10月 ——————————————————————————— 文档修改记录 日期 版本 说明 作者 2018-10-18 V1. ...
- linux驱动程序:控制发光二极管
一个完整的Linux驱动包括内部处理和交互两部分.其中内部处理主要是指Linux驱动的装载.卸载.与设备文件的相关动作处理以及业务逻辑等.与硬件交互主要是指通过iowrite32.ioread32 ...
- MyEclipse教程:使用UML创建模块库——第一部分(一)
MyEclipse 3.15 Style——在线购买低至75折!火爆开抢>> [MyEclipse最新版下载] UML1建模文件存储在建模库中,建模可用于生成Java代码,或者可以从代码中 ...