#元字符在re模块中有特殊意义的字符,有:^ $. * + {} [] () | \

^$

#表示开头结尾,注意:[^]表示取反

.

#点,表示任意一个字符,包括空格(一个空白字符),\t(换行符)。但是不能匹配\n(换行符)

*

#表示前一个字符出现次数任意次,包括零次

+

#表示前一个字符出现一次以上

{N,M}

#表示前一个字符出现N-M次

?

#表示前面一个字母出现0或1次

[patten1,patten2]

#表示匹配patten1或patten2,中间不需要分割符

#[]还可以取消元字符的特殊意义,但 - \ ^ 除外

##例如:[.*]即是匹配字符 . 或字符 *

##例如:[a-z]即是匹配所有小写字母

##例如:[^45]即是匹配除了4和除了5,同样不需要分割符

##例如:[\d]即是匹配所有数字

()

#表示分组,可以与 | 合用,(ab|cd)表示匹配字符 ab 或 字符 cd

#分组还可以给匹配规则命名,(?P<NAME>patten)表示将规则patten匹配到的内容命名为NAME,在re.search('patten','string').group(*varg)是调用

ret=re.search('(?P<name>\w{3})/(?P<number>\d{3})','www.baidu.com/glx/311')
print(ret.group())
print(ret.group('name'))
print(ret.group('number')) #############
glx/311
glx
311

#当使用re.findall()方式时,匹配规则中含有()分组,则匹配到的内容会只显示分组中的内容(分组的优先级较高)

#使用(?:patten),?: 作用时取消分组的权限

ret1=re.findall('www.(\w+).com','www.baidu.com')
ret2=re.findall('www.(?:\w+).com','www.baidu.com')
print(ret1)
print(ret2) ########
['baidu']
['www.baidu.com']

\

#可以将没有意义的字符表示成有意义的字符,如\d,d字符本身是没有意义的,但re模块可将其解释成所有数字

#还可以取消特殊意义,如\.,.(点)字符本身有特殊意义,re模块可以将其解释成字符点

##使用 \ 时,需要注意原本使用的内容在python中是否有意义,如\b,在python中表示退格符,在re模块中表示边界,所以在使用\b时在规则中要写成 \\b 或 r'\b' ,使得python传入给re模块时时 \b 两个没有意义的字符

##在匹配 \ 时,需要使用 \\\\ ,这样python传给re模块是才能是 \\ 两个没有意义的字符,re模块再解释成 \ 单纯的一个字符

##匹配出 \ 在显示时,是 ['\\']

ret=re.findall('\\\\','aa\c')
print(ret) ########
['\\']

#所以使用在python中有特殊意义的字符时,需要先取消其特殊意义

re模块元字符的更多相关文章

  1. Python_Mix*re模块,元字符,量词

    模块: 模块就是一组功能的集合,你要和某个东西打交道,而这个东西本身和Python没有关系,这个东西本身就存在,Python提供了一个功能的集合,专门负责和这个东西打交道. 模块的类型: 内置模块 不 ...

  2. Python::re 模块 -- 在Python中使用正则表达式

    前言 这篇文章,并不是对正则表达式的介绍,而是对Python中如何结合re模块使用正则表达式的介绍.文章的侧重点是如何使用re模块在Python语言中使用正则表达式,对于Python表达式的语法和详细 ...

  3. Python3 re模块(正则表达式)

    一:什么是正则? 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则. (在Python中)它内嵌在Python中,并通过r ...

  4. python之路(8)常用模块

    目录 os模块 sys模块 json模块 pickle模块 xml模块 re模块 logging模块 configparser模块 hashlib模块 time模块 random模块 subproce ...

  5. python之模块2

    1.logging模块 等级 debug--->info--->warning(默认)--->error--->critical 配置两种方式: #1.congfig函数 lo ...

  6. python基础之模块二

    六 logging模块 6.1 函数式简单配置 import logging #导入模块 logging.debug('debug message') #调试消息 logging.debug('inf ...

  7. 包+time+datetime+random+hashlibhmac+typing+requests+re模块(day17整理)

    目录 昨日内容 os模块 sys模块 json模块 pickle模块 logging模块 今日内容 包 相对导入 绝对导入 time模块 sleep 时间戳 time 格式化时间 strtime 结构 ...

  8. Python3 常用模块2

    目录 time 模块 时间戳形式 格式化时间 结构化时间 time.time() time.sleep() datetime 模块 random 模块 hashlib 模块 和 hmac 模块 typ ...

  9. Python全栈 正则表达式(概念、、语法、元字符、re模块)

    前言:        普通人有三件东西看不懂:医生的处方,道士的鬼符,程序员得正则表达式       什么是正则表达式? 正则表达式,又称规则表达式,英文名为Regular Expression,在代 ...

随机推荐

  1. Widget Factory

    Widget Factory 有N种零件,生产所需天数都为3~9天,有M条记录,记录开工星期几,和停工星期几,并告诉你这条记录所加工的零件,求每种零件的生产时间,\(1≤N,M≤300\). 解 显然 ...

  2. sql中on的连接条件与where的区别

    left join [表名] on [条件] where [条件] --on表示连接条件 --where表示对结果的过滤条件 两者不尽相同,使用时需注意 例如: select * from  tabl ...

  3. eigen矩阵操作练习

    // // Created by qian on 19-7-16. // /* 相机位姿用四元数表示 q = [0.35, 0.2, 0.3, 0.1] x,y,z,w * 注意:输入时Quatern ...

  4. python Xls文档读写

    1.模块安装 2.python 代码 import xlrd import xlwt import datetime def set_style(name,height,format,bold=Fal ...

  5. 我喜欢Mouding

    我Smily喜欢Mouding

  6. a common method to rotate the image

    /* * clockwise rotate * first reverse up to down, then swap the symmetry * 1 2 3 7 8 9 7 4 1 * 4 5 6 ...

  7. System.Web.Mvc.HttpUnauthorizedResult.cs

    ylbtech-System.Web.Mvc.HttpUnauthorizedResult.cs 1.程序集 System.Web.Mvc, Version=5.2.3.0, Culture=neut ...

  8. java基础温习 -- 多态

    1. 基本概念 多态是指一个事物有不同的表现形式或形态. 多态存在的三个必要条件:要有继承.要有重写.父类变量引用子类对象. 当使用多态方式调用方法时:         首先检查父类中是否有该方法,如 ...

  9. java 对接芝麻信用 -用芝麻私钥解密错误

    最近在做芝麻信用认证对接, 按照官方的文档,配置了,appid ,私钥公钥 ,然后把示例文档拷过来, 结果 总是报错, 芝麻私钥解密 ZMOP.decode_private_key_error, 调了 ...

  10. vue-cli的使用指南

    vue-cli 2.0 安装vue-cli npm install -g vue-cli 创建一个项目模板 vue init <template-name> <project-nam ...