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 = '''& ...
随机推荐
- 四. Python基础(4)--语法
四. Python基础(4)--语法 1 ● 比较几种实现循环的代码 i = 1 sum = 0 while i <= 10: # 循环10-1+1=10次 sum += i i ...
- html回顾随笔JS(*^__^*)
---恢复内容开始--- map遍历 function b(){ var week = new Map(); week.set("Mon","星期一"); we ...
- CentOS 查看文件大小 du -hs filename
du -hs [filename] 查看目录大小 [root@localhost opt]# 16M apache-tomcat- df -hv 查看整个磁盘使用状况 [root@rabbit66 ...
- Android开发 --代码布局
Android开发 --代码布局 在线性布局LinearLayout里加入view比较简单,因为属性比较少,布局简单 示例,加入一个TextView LinearLayout layout = (Li ...
- BBbacktrace installation
1: get the installation package https://backtrackbb.readthedocs.io/en/latest/Method.html#overview ht ...
- 【转】CEF3加载网页---多字节字符集和UNICODE字符集
static char* MBSCToCEF(const char* mbcsStr) { wchar_t* wideStr; char* utf8Str; int charLen; charLen ...
- css 伪类: 1)a:link , a:visited, a:hover, a:active 2):first-child
1. 链接伪类: <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset=&qu ...
- Python 区分方法和函数
def func(): print("我是函数") class Foo: def chi(self): print("我是吃") # print(func) # ...
- Java虚拟机的组成
Java虚拟机主要分为以下五个区: 一.方法区: 1. 有时候也成为永久代,在该区内很少发生垃圾回收,但是并不代表不发生GC,在这里进行的GC主要是对方法区里的常量池和对类型的卸载 2. 方法区主要用 ...
- web-view中下载微信头像跨域解决方案
let img = new Image() // 头像地址后边添加时间戳可解决跨域问题 555. img.src = 'http://wx.qlogo.cn/mmopen/vi_32/RnLIHfXi ...