正则表达式笔记

1.正则表达式是使用单个字符串来描述匹配一系列符合某个句法规则的字符串。比如查找以http开图以jpg结尾的字符串。

2.是对字符串操作的一种逻辑公式。

3.处理文本和数据.

4.正则表达式过程:依次拿出表达式和文本中的字符比较,如果每一个字符都能匹配,则匹配成功;否则匹配失败。

5.需要在开头引入 import re

6.正则表达式语法   -----使用正则表达式匹配单个字符。

7.使用正则表达式表示多个字符。

8.使用正则表达式进行边界匹配

9.使用正则表达式分组匹配。




代码部分

import re

strl ='iMooc python'

result1 = strl.find('11')#输出-1表示匹配失败4

result2 = strl.find('imooc')#输出0表示匹配成功

# print (result1)

# print (result2)

pa = re.compile(r'imooc',re.I)#前面加r的原因是代表原字符串,即不需要转义。如果后面有\n则表示是字符\和n,不是代表换行

#re.I表示忽略大小写,ignore,虽然上面的M大写也能识别出来。

ma = pa.match(strl)

print (ma.string)#匹配的字符串

print (ma.span())#匹配的位置是从0到5

#正则语法..两个点表示匹配两个任意字符(除了\n)  上面的ma是没有goup的

ma2 = re.match(r'..','01SADA12')

ma3 = re.match(r'[A-Z][a-z]*','Asdftgg')#大写字母开头,后面小写字母0个到无穷个。

ma4 = re.match(r'[_a-zA-Z]+[\W]*','asd$*&^$%')

ma5 = re.match(r'[1-9]?[0-9]','09*')#匹配0-99的数字,只会匹配0,后面就9不会匹配。

ma6 = re.match(r'[1-9]?[0-9]','56')#匹配0-99的数字

ma7 = re.match(r'[a-zA-Z0-9]{6,10}@163.com','abc123asdk@163.com')#只会匹配到abc123六到十位,如果多了一位,则第十一位不匹配,如果少了一位比如是abc12,那么则会没有group

ma8 = re.match(r'[0-9][a-z]*?','1bc')#非贪婪模式:尽可能的少匹配第一个数字之后的字母,所以后面的bc都不匹配了,只匹配了1.  +* ?*同理

ma9 = re.match(r'^[\w]{6,10}@163.com$','abc123asdk@163.com')#必须以@163.com结尾,字母开头。

ma10 = re.match(r'[0-9]?\d$|100','99')#匹配0到100的数字。

ma11 = re.match(r'^[\w]{6,10}@(163|126).com$','abc123asdk@126.com')#163或者126邮箱结尾。

ma12 = re.match(r'<([\w]+>)([\w]+)python')

# ma12 = re.match(r'<[\w]+>[\w]+','python')

ma13 = re.match(r'<(?P[\w]+>)[\w]+python') #用名字去引用分组。

print ('ma2='+ma2.group())

print ('ma3='+ma3.group())

print ('ma4='+ma4.group())

print ('ma5='+ma5.group())

print ('ma6='+ma6.group())

print ('ma7='+ma7.group())

print ('ma8='+ma8.group())

print ('ma9='+ma9.group())

print ('ma10='+ma10.group())

print ('ma11='+ma11.group())

print ('ma12='+ma12.group())

print ('ma13='+ma13.group())

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,907评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,987评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,298评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,586评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,633评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,488评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,275评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,176评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,619评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,819评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,932评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,655评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,265评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,871评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,994评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,095评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,884评论 2 354

推荐阅读更多精彩内容

  • python re模块重要函数变量:1. compile() 根据正则表达式字符串,创建模式的对象。2. sear...
    野狗子嗷嗷嗷阅读 303评论 0 1
  • Python中的正则表达式(re) import rere.match #从开始位置开始匹配,如果开头没有则无re...
    BigJeffWang阅读 7,081评论 0 99
  • 正则表达式一般用于检索,替换文本。 一.正则表达式元字符和语法: 这些语法是每种语言都通用的。接下来记一下pyth...
    omuraisu阅读 650评论 0 2
  • 1.正则表达式概述 正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regula...
    TENG书阅读 844评论 0 1
  • re模块手册 本模块提供了和Perl里的正则表达式类似的功能,不关是正则表达式本身还是被搜索的字符串,都可以...
    喜欢吃栗子阅读 4,009评论 0 13