1.分组匹配    用()把需要分组的类型括起来,如下

  1. import re
  2.  
  3. m = re.search("([a-z]+)([0-9]+)","alex123")
  4. print(m.groups())          #用groups() 涉及到分组就用groups
  5. # ('alex', '123')

2.”\A“   表示从头开始匹配,和”^“ match 类似

“\Z”      匹配字符结尾,同$

“\d”           相当于数字0-9

  1. import re
  2.  
  3. m = re.search("([a-z]+)([\d]+)","alex123")
  4. print(m.groups())
  5.  
  6. ('alex', '123')

“\D”  匹配非数字

  1. import re
  2.  
  3. m = re.findall("\D","alex%467*123")
  4. print(m)
  5.  
  6. # ['a', 'l', 'e', 'x', '%', '*']

“\w” 匹配(a-z A-Z 0-9)

  1. import re
  2.  
  3. m = re.findall("\w","alex%467*123")
  4. print(m)
  5.  
  6. # ['a', 'l', 'e', 'x', '4', '6', '7', '1', '2', '3']

“\W”   匹配非(a-z A-Z 0-9)

  1. import re
  2.  
  3. m = re.findall("\W","alex%467*123")
  4. print(m)
  5.  
  6. # ['%', '*']

“\s”  匹配空白字符

  1. import re
  2.  
  3. m = re.findall("\s","ale\nx%46\t7*123")
  4. print(m)
  5.  
  6. # ['\n', '\t']

“(?P<name>...)” 分组匹配 分组之间不需要加逗号,加了会报错。

  1. import re
  2. s = "321324199309187654"
  3. m = re.search("(?P<convince>\d{3})""(?P<city>\d{3})""(?P<year>\d{4})""(?P<month>\d{4})",s)
  4. print(m.groups())
  5.  
  6. # ('321', '324', '1993', '0918')

调用groupdict,生成字典。

  1. import re
  2. s = "321324199309187654"
  3. m = re.search("(?P<convince>\d{3})""(?P<city>\d{3})""(?P<year>\d{4})""(?P<month>\d{4})",s)
  4. print(m.groups())
  5.  
  6. print(dir(m))
  7. print(m.groupdict())
  8.  
  9. # {'convince': '321', 'city': '324', 'year': '1993', 'month': '0918'}

  

  

re正则表达式公式讲解3的更多相关文章

  1. re正则表达式公式讲解6

    标识符 re.I (re.IGNORECASE) 忽略大小写 import re s = "Max@123uyt146" print(re.search("m" ...

  2. re正则表达式公式讲解5

    1.refullmatch() 完全匹配字符串则返回object,否则返回None import re s = "max@123uyt146" print(re.fullmatch ...

  3. re正则表达式公式讲解4

    1.re,split()  字符串分离 import re s = "abc20tyu9iou16hij25" m = re.split("\d",s) #以& ...

  4. re正则表达式公式讲解1

    常用的表达式一些规则 1.“.”  匹配出了\n之外的任意一个字符,包括特殊字符 有几个·就匹配几个字符. import re print(re.search("."," ...

  5. Jquery正则表达式公式.例子

    1.非负整数         /^\d+$/     2.正整数           /^[0-9]*[1-9][0-9]*$/     3.非正整数       /^((-\d+)|(0+))$/  ...

  6. Javascript正则表达式详细讲解和示例,通俗易懂

    正则表达式可以: •测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式.这称为数据有效性验证 •替换文本.可以在文档中使用一个正则表达式 ...

  7. 前端js常用正则表达式实例讲解

    本文内容整理自他人优秀的博客,非纯原创.仅借此学习和整理. 1.匹配用户名 规则描述: 长度4-6位: {4,16} 字母: [a-z] [A-Z] 数字: [0-9] 下划线: [_] 减号: [- ...

  8. Python爬虫(二)正则表达式

    一.介绍 1.概念 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来 ...

  9. lotus 公式

    函数 描述@UserName 返回用户名或服务器名.@Name([key]; name) 更改用户名的格式.关键字包含 [CN] 以从一个专有名字中解析出公共名,[Abbreviate] 缩写规范格式 ...

随机推荐

  1. react native 中的redux 理解

    redux 中主要分为三大块,分别是Action Reducer 与Store. 1.Action是js的一个普通对象,是store数据的唯一来源.通过store.dispath()讲action传到 ...

  2. Bootloader与Kernel间参数传递机制 taglist【转】

    本文转载自:http://blog.csdn.net/tommy_wxie/article/details/9187821 Tag list被用来在bootloader和Linux kernel 之间 ...

  3. 织梦CMS使用JS实时动态调用评论数

    网站中只要启用了会员系统,网站中的文章就会有评论,在网站首页中调用会员评论也能提升会员体验度,网页都是静态页面,如果每有一个评论都更新html的话就会有点浪费资源了,所以这里给大家分享一个使用JS调用 ...

  4. 启动tomcat时,经常遇到的问题 8080 端口被占用

    启动tomcat失败时,弹出的窗口如上,说明8080被某个进程占用了 需要把占用8080端口的进程给kill掉 Win+R 输入运行cmd 打开命令提示符cmd.exe netstat -ano|fi ...

  5. 简单的JDBC封装

    JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口 ...

  6. I.MX6 wpa_supplicant_8 编译问题

    /************************************************************************ * I.MX6 wpa_supplicant_8 编 ...

  7. POJ2689:Prime Distance(大数区间素数筛)

    The branch of mathematics called number theory is about properties of numbers. One of the areas that ...

  8. limit的用法

    limit子句可以用于强制select语句返回指定的记录数.limit接受一个或两个数字参数,参数必须是整数常量.如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最 ...

  9. cocos2dx常见32种场景切换动画

    bool HelloWorld::init() { ////////////////////////////// // 1. super init first if ( !CCLayer::init( ...

  10. relative和absolute

    relative 相对定位 1. 幻影瞬移 absolute属性也有瞬移技能,不同之处在于:absolute属性以天空或其他外界限制计算瞬移位置:而relative属性由于是凡人肉体,偏移能力有限,只 ...