python re 正則表達式
夜深了。敲击键盘。用CSDN整理下python re
正則表達式是含有文本和特别字符的字符串,这些文本和特别字符描写叙述的模式能够识别各种字符串。
一下我们从实例结合理论来学习理解吧...
经常使用正則表達式符号:
记号 说明 实例
re1|re2 匹配正则re1或者re2 foo|bar
. 匹配不论什么字符(换行符除外) b.b
^ 匹配字符串的開始 ……Dear
$ 匹配字符串的结尾 /bin/*sh$
* 匹配前面出现的正则0次或多次 [A-Za-z0-9]*
+ 匹配前面出现的正则1次或多次 [a-z]+\.com
? 匹配前面出现的正则1次或多次 goo?
{N} 匹配前面出现的正则N次 [0-9]{3}
{M,N} 匹配反复出现M次到N次的正则 [0-9]{2,4}
[...] 匹配字符组里出现的随意一个字符 [aeiou]
[...x-y...] 匹配x到y中的随意一个字符 [0-9],[A-Za-z]
[^...] 不匹配此字符集中的随意一个字符 [^aeiou]
(...) 匹配封闭括号里正则,并保存为子组 ([0-9]{3})?
特殊正則表達式符号:
\d 匹配不论什么数字,和[0-9]一样。(\D是\d的反义:不论什么非数符字) data\d+.txt
\w 匹配不论什么数字字母字符,同[A-Za-z0-9]。(\W的反义) [A-Za-z]\w+
\s 匹配不论什么空白符,同[\n\t\r\v\f]。
(\S的反义) of\sthe
\b 匹配单词边界(\B的反义) \bthe\b
\nn 匹配已保存的子组
\c 依次匹配特殊字符 c (即取消他的特殊含义,依照字面匹配) \.,\\,\*
\A (\Z) 匹配字符串的起始(结束) \ADear
实例:
import re
m = re.match('ab','abefghab')
m.groups()
m=re.match('foo','foo')
m.group()
m=re.match('ab|cd','abcdef')
m.group()
m=re.match('foo','food on the table')
m.group()
m=re.match('foo','fd on the foo')#error
m=re.search('foo','fd on the foo')
m=re.match('.end','bend the the')
m=re.match('.*end','how?bend the the')
m=re.match('.*end','how?\nbend the the')#error \n
m=re.match('[cr][23][dp][o2]','c2p2')
m=re.match('[cr][23][dp]?[o2]?
','c2p2')
m=re.match('[cr][23][dp][o2]?','c2pippp')
m=re.match('\w+@(\w+\.)?\w+\.com','abs@jimi.com')
m=re.match('\w+@(\w+\.)?\w+\.com','abggddds@local.jimi.com')
m=re.match('\w\w\w-\d\d\d','abc-123')
m=re.match('(\w\w\w)-(\d\d\d)','abc-123') #m.groups()
m=re.match('(a)(b)','abcefg')#m.group(1) m.group(2) m.groups()
m=re.match('^the','the bank')
m=re.search('^the','end the')#error
m=re.search(r'\bthe','bite dog the')
m=re.search(r'\Bthe','bitethe dog')
re.findall('car','carry the barcardi to the car')
re.sub('X','Mr.Smith','attn:X\n\nDear X,\n')
re.subn('[ab]','X','agirlbeatshe')
re.split(':','str1:str2:str3')
con='jimi im you'
open('okay.txt','w').write(con)
a
python re 正則表達式的更多相关文章
- python使用正則表達式
python中使用正則表達式 1. 匹配字符 正則表達式中的元字符有 . ^ $ * + ? { } [ ] \ | ( ) 匹配字符用的模式有 \d 匹配随意数字 \D 匹配随意非 ...
- Python基础--正則表達式基本的语法以及re模块
正则是个非常牛逼的东西,python中当然也不会缺少. 所以今天的Python就跟大家一起讨论一下python中的re模块. re模块包括对正則表達式的支持. 什么是正则: 正則表達式是能够匹配文本片 ...
- python 学习笔记 10 -- 正則表達式
零.引言 在<Dive into Python>(深入python)中,第七章介绍正則表達式,开篇非常好的引出了正則表達式,以下借用一下:我们都知道python中字符串也有比較简单的方法, ...
- Python正則表達式:怎样使用正則表達式
正則表達式(简称RE)本质上能够看作一个小的.高度专业化的编程语言,在Python中能够通过re模块使用它.使用正則表達式,你须要为想要匹配的字符串集合指定一套规则,字符串集合能够包括英文句子.e-m ...
- python进阶十_正則表達式(一)
近期状态一直不太好,至于原因,怎么说呢,不好说,总之就是纠结中覆盖着纠结,心思全然不在点上,希望能够借助Python的学习以及博客的撰写来调整回来,有的时候回头想一想,假设真的是我自己的问题呢,曾经我 ...
- 正則表達式re中的贪心算法和非贪心算法 在python中的应用
之前写了一篇有关正則表達式的文章.主要是介绍了正則表達式中通配符 转义字符 字符集 选择符和子模式 可选项和反复子模式 字符串的開始和结尾 ,有兴趣的能够查看博客内容. 此文章主要内容将要介绍re中的 ...
- Python学习笔记8:标准库之正則表達式
Python拥有强大的标准库.从如今起,開始学习标准库中提供的一些经常使用功能. 首先看正則表達式(regular expression),它的主要功能是从字符串(string)中通过特定的模式(pa ...
- Python——正則表達式(2)
本文译自官方文档:Regular Expression HOWTO 參考文章:Python--正則表達式(1) 全文下载 :Python正則表達式基础 ======================== ...
- Python正則表達式小结(1)
学习一段python正則表達式了, 对match.search.findall.finditer等函数作一小结 以下以一段网页为例,用python正則表達式作一个范例: strHtml = '''& ...
随机推荐
- border_mode
如果border_mode选择为same,那么卷积操作的输入和输出尺寸会保持一致.如果选择valid,那卷积过后,尺寸会变小 # apply a 3x3 convolution with 64 out ...
- offSet().left 与position().left的区别
offSet().left是针对整个当前文档的所说的偏移: position().left是对于父元素来说的:
- 二、求水仙花数,打印出100-999之间所有的"水仙花数"
所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身. 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方 public c ...
- Java 容器
摘录来至https://www.cnblogs.com/LipeiNet/p/5888513.html https://www.cnblogs.com/acm-bingzi/p/javaMap.htm ...
- Appium Python API
1.contexts contexts(self): Returns the contexts within the current session. 返回当前会话中的上下文,使用后可以识别H5页面的 ...
- 2010年腾讯前端面试题学习(js部分)
看了牛人写的回忆文章,里面有2010年腾讯的前端面试题,里面涉及到不少基础性的问题,学习一下:) 原文地址:https://segmentfault.com/a/1190000012998107 js ...
- ubantu-vim操作
vim其实就是vi的升级版,vi里的所有命令vim里都可以用,一般使用来说几乎没什么差别. 注:本篇文章区分大小写! vi / vim三级模式的关系: 命令行模式 任何时候,不管用户处于何种模式,只要 ...
- [python]操作redis sentinel以及cluster
先了解清楚sentinel和cluster的差别,再学习使用python操作redis的API,感觉会更加清晰明白. 1.redis sentinel和cluster的区别 sentinel遵循主从结 ...
- 12.输入一个成绩计算其A,B,C,D,E等级
#include <stdio.h> #include <stdlib.h> #include <math.h> int main() { int score; s ...
- Englis(二)
turn a year older 年长一岁 the birthday person 过生日的人 in honor of 为庆祝,为纪念 to observe/celebrate birthday ...