1、
python re模块函数:
re.compile() : 将字符串编译为Pattern对象
re.match():从0位置匹配
re.search():搜索任意位置,相同字符串只是返回一个
re.findall(): 搜索任意位置,返回所有搜到的相同的字符串
2、
(1)匹配固定字符: ‘a\dc’ 可以匹配 ‘a2c’; ‘a\wc’ 可以匹配 ‘abc’
(2)匹配变长字符:
例如:\d{3}\s+\d{3,8}
\d{3} 表示3个数字
\s+表示至少有一个空格
\d{3,8}表示3~8个数字
即可匹配:010 12345678
\d{3}-\d{3,8} :即可匹配:010-12345678
可以用[ ]表示范围,比如:
[0-9a-zA-Z_]可以匹配一个数字、字母或者下划线;
A|B可以匹配A或B,所以(P|p)ython可以匹配’Python’或者’python’。
^表示行的开头,^\d表示必须以数字开头。
$表示行的结束,\d$表示必须以数字结束。

py也可以匹配’python’,但是加上^py$就变成了整行匹配,就只能匹配’py’。
3、
在Python的字符串前面加上‘r’,编译器 不会将\n 认为是换行。而是两个字符,\和n, 而不会转意为换行符。由于正则表达式和python中的 \ 会有冲突,因此,当一个字符串使用了正则表达式后,最好在前面加上’r’。
例如:
import re
test=’010-12345’
if re.match(r’^\d{3}-\d{3,8}$’,test):
print ‘ok’
else:
print ‘faild’
#ok
4、 切分字符 re.split(r’[\s,\;]+’,’a, ;b c d’) #[‘a’, ‘b’, ‘c’, ‘d’]
5、分组():

m=re.match(r'^(\d{3})(-)(\d{3,8})$','010-12345678')
print m.group(0)
print m.group(1)
print m.group(2)
print m.group(3)
\#输出
010-12345678
010
\-
12345678

6、贪婪匹配:

\>>> re.match(r'^(\d+)(0*)$', '102300').groups()
('102300', '')     #0匹配不到字符
\>>> re.match(r'^(\d+?)(0*)$', '102300').groups()
('1023', '00')  #对\d+进行非贪婪匹配。(在\d+后加一个?号)

7、编译:
当我们在Python中使用正则表达式时,re模块内部会干两件事情:
(1)编译正则表达式,如果正则表达式的字符串本身不合法,会报错;
(2)用编译后的正则表达式去匹配字符串。
如果一个正则表达式要重复使用几千次,我们可以预编译该正则表达式,接下来重复使用时就不需要编译这个步骤了,直接匹配。

import  re
cp=re.compile(r'^(\d{3})-(\d{3,8})$')
print re.match(cp,'010-12345')
print re.match(cp,'010-12')
#<_sre.SRE_Match object at 0x0000000002336360>
#None

7、查找邮箱:

import  retest='674033623@qq.com'
cp=re.compile(r'(^\d{5,11})(@)([0-9a-zA-Z]+)(\.)([a-zA-Z]+)$')
print re.match(cp,test)
print re.match(cp,test).groups()
#<_sre.SRE_Match object at 0x000000000234D480>
#('674033623', '@', 'qq', '.', 'com')

正则表达式、re函数相关推荐

  1. Python中re(正则表达式)模块函数学习

    2019独角兽企业重金招聘Python工程师标准>>> Python正则表达式指南 今天学习了Python中有关正则表达式的知识.关于正则表达式的语法,不作过多解释,网上有许多学习的 ...

  2. ora00936缺失表达式怎么解决_正则表达式替换函数

    导读 在上篇推文<正则表达式匹配和提取函数>中简单介绍了正则表达式的匹配和提取函数,并用一些简单的例子向大家说明如何利用正则表达式匹配和提取文本.今天我们为大家简单介绍一下正则表达式的替换 ...

  3. 菜鸟教程python正则表达式_Python正则表达式常用函数菜鸟教程

    这篇文章主要为大家详细介绍了Python正则表达式常用函数菜鸟教程,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! Py ...

  4. java match正则不生效_[Java教程]正则表达式match()函数

    [Java教程]正则表达式match()函数 0 2015-09-26 12:00:31 正则表达式match()函数: 此方法可在字符串内查找一个或多个正则表达式的匹配. 返回值是一个数组,但是此数 ...

  5. oracle中正则表达式规则,Oracle中的正则表达式(及函数)详解

    1.概述 相信大家对正则表达式都不陌生,从linux下的命令到Java等编程语言,正则表达式无处不在,虽然我们实际使用的时候也并不一定太多,但是当我们要处理字符串时,它确实是一个强大的工具. 上一篇文 ...

  6. python 正则替换_5分钟速览Python正则表达式常用函数!五分钟就掌握它!

    导读:正则表达式是处理字符串类型的"核武器",不仅速度快,而且功能强大.本文不过多展开正则表达式相关语法,仅简要介绍python中正则表达式常用函数及其使用方法,以作快速查询浏览. ...

  7. oracle中匹配函数怎么用,Oracle中的正则表达式(及函数)详解

    运算符 在介绍函数前,这里先说明一下Oracle中正则表达式运算符及其描述. 如果不知道他们有什么用,或者也不知道描述说的是什么,没关系,可以先看后面的介绍,就知道他们的含义了. 图片.png ora ...

  8. python常用字符串匹配_伸手党必备之Python正则表达式常用函数

    今天介绍一下Python中常用的正则表达式处理函数.Python的正则表达式主要有两种方法完成模式匹配:『搜索』和『匹配』 re.match re.match 尝试从字符串的开始全部或者部分匹配某个模 ...

  9. php正则表达式替换,PHP正则表达式替换函数preg_replace

    preg_replace正则表达式替换函数对于我来说,现在非常喜欢它.不仅能准确.快速的处理字符串,还能让我从新审视正则表达式的重要性.正则表达式语言对于我来说,就像人类听不懂鸟语一样,想懂它却那么难 ...

  10. Python语言学习:Python语言学习之正则表达式常用函数之re.search方法【输出仅一个匹配结果(内容+位置)】、re.findall方法【输出所有匹配结果(内容)】案例集合之详细攻略

    Python语言学习:Python语言学习之正则表达式常用函数之re.search方法[输出仅一个匹配结果(内容+位置)].re.findall方法[输出所有匹配结果(内容)]案例集合之详细攻略 导读 ...

最新文章

  1. 关于python创建类的深入理解
  2. 孙兴慜已飞抵阿联酋 能否出战国足将视情况而定
  3. Redis常见面试题与答案
  4. 【方便自己使用】KKT条件
  5. JS:ES11新特性
  6. SQL中的ROW_NUMBER()和while循环对每一行执行操作
  7. 四叶草启动linux黑屏,四叶草剧场黑屏进不去解决方法一览
  8. 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第4节 等待唤醒机制_7_等待唤醒机制需求分析...
  9. matlab 对直方图均衡化,基于直方图均衡化的图像增强技术分析与Matlab实现_直方图均衡化matlab...
  10. android frameworks下面config.xml属性
  11. c语言教学方法措施,C语言教学方法探讨
  12. 阿里云10M带宽服务器实际下载速度测试说明
  13. Vue 使用 yarn 报错
  14. 因影片里白人太多,Twitch平台撤下BLM视频
  15. 银行可视化大屏后端计算案例
  16. 数据结构:渐进记法详解
  17. torchvision.ops.nms与batched_nms
  18. 【分层强化学习】HAC论文及代码
  19. 【ES6闯关】Promise堪比原生的自定义封装then、catch、resolve、reject...
  20. 浅谈参观SpeedyCloud云计算公司感想

热门文章

  1. word2003如何去除空白页并保持页码
  2. Win10 在 Visual Studio 2019 环境下配置 CUDA 10.1 + TensorFlow-GPU
  3. HTC头显显示错误:头戴式显示器插入错误显卡
  4. 李笑来《韭菜的自我修养》摘录(1)
  5. Hexo 主题配置 - NexT
  6. 当Java泛型擦除遇到JSON序列化和反序列化
  7. 使用tushare建立公募基金数据库
  8. Python Flask MongoDB Web开发:前 言
  9. java线程同步机制有哪些_多线程同步机制包括哪些
  10. 自监督论文阅读笔记 Self-supervised Learning in Remote Sensing: A Review