Python使用正则
Python中使用正则的两种方式
在Python中有两只能够使用正则表达式的方式:
- 直接使用re模块中的函数
import re
re_string = "{{(.*?)}}"
some_string="this is a string with {{words}} enmbedded in {{curly brackets}}.."
for match in re.findall(re_string, some_string):
print("MATCH->", match)
MATCH-> words
MATCH-> curly brackets
直接使用re模块中的函数
- 创建一个它编译的正式表达式对象,然后使用对象中的方法
import re
re_obj = re.compile("{{.*?}}")
some_string="this is a string with {{words}} enmbedded in {{curly brackets}}.."
for match in re_obj.findall(some_string):
print("MATCH->", match)
MATCH-> {{words}}
MATCH-> {{curly brackets}}
使用编译的对象
我们可以根据个人喜好选择使用其中一种正则表达式的方法,然而,使用第二种方法对性能好很多
原始字符串与正则表达式
In [12]: raw_pattern = r'\b[a-z]+\b' In [13]: non_raw_pattern = '\b[a-z]+\b' In [14]: some_string = 'a few little words' In [15]: re.findall(raw_pattern, some_string) Out[15]: ['a', 'few', 'little', 'words'] In [16]: re.findall(non_raw_pattern, some_string) Out[16]: []
正则表达式模式"\b"匹配单词边界。raw_patern匹配了在some_string中合适的单词边界,而non_raw_patter根本没有任何匹配
raw_pattern将"\b"识别为两个字符,而不是解析为转移字符中的退格字符
non_raw_pattern则将"\b"解析为转移字符中的退格字符
findall()
In [19]: import re
In [20]: re_obj = re.compile(r'\bt.*?e\b')
In [21]: re_obj.findall("tim tame tune tint tire")
Out[21]: ['tim tame', 'tune', 'tint tire']
模式没有定义任何组,因此findall()返回一个字符串列表
有趣的是返回列表的
Python使用正则的更多相关文章
- python re 正则
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- python 速记正则使用(转)
目录 python 速记正则使用(转) 正则表达式语法 字符与字符类 量词 组与捕获 断言与标记 条件匹配 正则表达式的标志 Python正则表达式模块 四大功能 两种方法 常用方法 匹配对象的属性与 ...
- python的正则re模块
一. python的正则 python的正则模块re,是其内置模块,可以直接导入,即import re.python的正则和其他应用的正则及其相似,有其他基础的话,学起来还是比较简单的. 二. 正则前 ...
- python - 手机号正则匹配
Python 手机号正则匹配 # -*- coding:utf-8 -*- import re def is_phone(phone): phone_pat = re.compile('^(13\d| ...
- Python(正则 Time datatime os sys random json pickle模块)
正则表达式: import re #导入模块名 p = re.compile(-]代表匹配0至9的任意一个数字, 所以这里的意思是对传进来的字符串进行匹配,如果这个字符串的开头第一个字符是数字,就代表 ...
- Python之正则
从学习Python至今,发现很多时候是将Python作为一种工具.特别在文本处理方面,使用起来更是游刃有余. 说到文本处理,那么正则表达式必然是一个绝好的工具,它能将一些繁杂的字符搜索或者替换以非常简 ...
- 转--python之正则入门
原文地址 1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法 ...
- Python基础(正则、序列化、常用模块和面向对象)-day06
写在前面 上课第六天,打卡: 天地不仁,以万物为刍狗: 一.正则 - 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法: - 在线正则工具:http://tool ...
- python re正则
一:什么是正则? 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则.(在Python中)它内嵌在Python中,并通过 r ...
随机推荐
- CSS只改变背景透明度,不改变子元素透明度
一般情况下,我们可以使用css的opcity属性改变某个元素的透明度,但是其元素下的子元素的透明度也会被改变,即使对子元素重新定义也没有用,例如: <div style="opacit ...
- 让老版本IE支持HTML5
一直想入手C3和H5,但因为所开发的项目一直要求兼容IE7,IE8.而这两个浏览器并不支持html5,所以一直都在观望而未真正的投入太多精力去学习.尽管我知道h5和c3是主流. 在最近的项目开发中,偶 ...
- js 禁用右键菜单、拖拽、选中、复制
//禁用拖拽 document.ondragstart = function () { return false; }; /** * 禁用右键菜单 */ document.oncontextmenu ...
- 用jquery实现toast的原理
function toast(mess){ var str='<div class="mess"><span></span></div&g ...
- 【FCS NOI2018】福建省冬摸鱼笔记 day4
第四天. 动态规划专题,讲师:闫神 讲了一些DP优化技巧,然而思想难度好大啊……根本没想到能优化那地步,连DP方程都没有呢. 不过有几题我还是想明白了. 讲了单调队列,决策单调性,四边形不等式,斜率优 ...
- 01-Coredump核心转存&&Linux程序地址分析【转】
转自:http://www.itwendao.com/article/detail/404132.html 目录(?)[-] 一Core Dump核心转存 二Linux程序地址分析 一Core Dum ...
- aarch64_g1
GAPDoc-1.5.1-12.fc26.noarch.rpm 2017-02-14 07:37 1.0M fedora Mirroring Project GAPDoc-latex-1.5.1-12 ...
- MsSqlserver 查看锁表与解锁
查看被锁表: select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys. ...
- TCP/IP详解(整理)
1.概述 路由器是在网络层进行联通,而网桥是在链路层联通不同的网络. IP层用ICMP来与其他主机或路由器交换错误报文和其他的重要信息.应用程序也可以访问ICMP,两个诊断工具:Ping和Tracer ...
- html5学习之canvas
Canvas画布 1.绘图方法 ctx.moveTo(x,y) 落笔ctx.lineTo(x,y) 连线ctx.stroke() 描边 ctx.beginPath(): 开启新的图层 演示: stro ...