• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >正则表达式 > Python中正则表达式match()、search()函数及match()和search()的区别详解

Python中正则表达式match()、search()函数及match()和search()的区别详解

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了Python中正则表达式match()、search()函数及match()和search()的区别详解等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

match()和search()都是python中的正则匹配函数,那这两个函数有何区别呢?

match()函数只检测RE是不是在string的开始位置匹配, search()会扫描整个string查找匹配, 也就是说match()只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回none

例如:

#! /usr/bin/env python
# -*- coding=utf-8 -*-
import re
text = 'pythontab'
m = re.match(r"\w+", text)
if m: 
  print m.group(0)
else:
  print 'not match'
</div>

结果是:pythontab

而:

#! /usr/bin/env python
# -*- coding=utf-8 -*-
#
import re
text = '@pythontab'
m = re.match(r"\w+", text)
if m: 
  print m.group(0)
else:
  print 'not match'
</div>

结果是:not match

search()会扫描整个字符串并返回第一个成功的匹配

例如:

#! /usr/bin/env python
# -*- coding=utf-8 -*-
#
import re
text = 'pythontab'
m = re.search(r"\w+", text)
if m: 
  print m.group(0)
else:
  print 'not match'

</div>

结果是:pythontab

那这样呢:

#! /usr/bin/env python
# -*- coding=utf-8 -*-
#
import re
text = '@pythontab'
m = re.search(r"\w+", text)
if m: 
  print m.group(0)
else:
  print 'not match'
</div>

结果是:pythontab

总结:

Python中正则表达式match()函数

如果不创建pattern对象,我们使用match函数可以直接进行正则表达式的匹配,在我看来这种方式更简洁,不过不适合大型程序的编写,后期维护可能会产生困难,不过编写一些小脚本完全可以胜任。

Python中正则表达式search()函数

search函数和match函数有点类似,都可以匹配模式,但是match和search函数也有区别,而且区别很大,match函数只能够字符串的开始位置开始匹配,而search是可以匹配字符串的任意位置,但也是返回找到的第一个匹配的模式。我们通过例子来了解这俩之间的区别吧。


</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-05-11正则表达式u修饰符(支持UTF-16编码)
  • 2017-05-11notepad、editplus等软件常用的文本整理正则表达式
  • 2017-05-11在ASP中用“正则表达式对象”来校验数据的合法性
  • 2017-05-11浅谈正则表达式(Regular Expression)
  • 2017-05-11使用Linux正则表达式灵活搜索文件中的文本
  • 2017-05-11正则表达式日常收集整理(简单且实用)
  • 2017-05-11C# 正则表达式经典分类整理集合手册第1/3页
  • 2017-05-11asp.net 正则表达式[经常用的到]
  • 2017-05-11php正则表达式匹配img中任意属性的方法
  • 2017-05-11MySQL中REGEXP正则表达式使用大全

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 正则表达式基础
    • JavaScript的正则也有单行模式了
    • 用正则表达式判断字符串是汉字还是拼音的js函数代码
    • 你不一定知道的关于JavaScript的正则表达式
    • php半小时精通正则表达式
    • linux正则表达式awk详解
    • PHP中正则表达式对UNICODE字符码的匹配方法
    • java 正则表达式基础,实例学习资料收集大全 原创
    • 正则表达式常用用法汇总
    • 正则表达式字符类加深理解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有