正则表达式笔记

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())

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

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