首页 > 编程语言 > 详细

python re 正則表達式

时间:2019-04-22 10:15:46      阅读:111      评论:0      收藏:0      [点我收藏+]

夜深了。敲击键盘。用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 正則表達式

原文:https://www.cnblogs.com/xfgnongmin/p/10748340.html

(0)
(0)
   
举报
评论 一句话评论(0
分享档案
最新文章
教程昨日排行
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!