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

import re

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

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

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

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

import re

m = re.search("([a-z]+)([\d]+)","alex123")
print(m.groups()) ('alex', '123')

“\D”  匹配非数字

import re

m = re.findall("\D","alex%467*123")
print(m) # ['a', 'l', 'e', 'x', '%', '*']

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

import re

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

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

import re

m = re.findall("\W","alex%467*123")
print(m) # ['%', '*']

“\s”  匹配空白字符

import re

m = re.findall("\s","ale\nx%46\t7*123")
print(m) # ['\n', '\t']

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

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

调用groupdict,生成字典。

import re
s = "321324199309187654"
m = re.search("(?P<convince>\d{3})""(?P<city>\d{3})""(?P<year>\d{4})""(?P<month>\d{4})",s)
print(m.groups()) print(dir(m))
print(m.groupdict()) # {'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. miller_rabin模板

    miller_rabin素数测试法 #include <iostream> #include <cstdlib> #include <stdio.h> #inclu ...

  2. proc_create的使用方法

    proc_create的使用方法 proc文件系统是个有用的东东.创建一个proc虚拟文件,应用层通过读写该文件,即可实现与内核的交互.proc虚拟文件是如何创建的呢? 先看看比较简单的,创建proc ...

  3. physical processor, core, logical processor

    Processor Groups https://docs.microsoft.com/en-us/windows/desktop/ProcThread/processor-groups The 64 ...

  4. SpringBoot快速HelloWorld入门

    1.新建maven项目 2.pom.xml 里添加SpringBoot所依赖的jar包 <parent> <groupId>org.springframework.boot&l ...

  5. React引入,运行

    1.引入 <script src="https://cdn.bootcss.com/react/15.5.4/react.min.js"></script> ...

  6. java的数字精确计算问题-BigDecimal

    java的数字运算,偶尔会出现精度的问题,以下阐述的 java的BigDecimal类的使用. 例如: System.out.println(0.9+0.3); 结果1.2 System.out.pr ...

  7. ajax验证用户名 当用户名框的数据改变时 执行ajax方法

    ajax验证用户名 当用户名框的数据改变时 执行ajax方法 <html xmlns="http://www.w3.org/1999/xhtml" ><head ...

  8. asp.net微软图表控件MsChart

    前段时间,开发项目时,由于需要,需要将一些数据统计,并以图表形式显示.由于是asp.net,所以就找到了MsChart图表控件,还是挺方便实用的,分享一下. MsChart控件的主要组成如图所示 工具 ...

  9. 每次rand出来都是41?说好的随机数呢?!

    rand()函数是C++标准函数库提供的随机数生成器,生成0-RAND_MAX之间的一个"伪随机"整数,理论上可以产生的最大数值为2^16-1,即32767. rand()函数不接 ...

  10. [Selenium] 操作浏览器前进后退

    driver.get("http://1.com"); driver.navigate().to("http://2.com"); driver.navigat ...