python正则表达式函数match()和search()的区别

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'

结果是: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'

结果是: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'

结果是: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'

结果是:pythontab

更多关于python正则函数请查看下面的相关文章

(0)

相关推荐

  • 带你精通Python正则表达式

    目录 Python正则表达式 一.re模块 1.导入re模块 2.findall()的语法: 二.正则表达式 1.字符串的匹配 2.正则的使用 Python正则表达式 正则作为处理字符串的一个实用工具,在Python中经常会用到,比如爬虫爬取数据时常用正则来检索字符串等等.正则表达式已经内嵌在Python中,通过导入re模块就可以使用,作为刚学Python的新手大多数都听说"正则"这个术语. 一.re模块 在讲正则表达式之前,我们首先得知道哪里用得到正则表达式.正则表达式是用在find

  • 一篇文章彻底搞懂python正则表达式

    目录 前言 1. 正则表达式的基本概念 2. python的正则表达式re模块 3. 正则表达式语法 (1)匹配单个字符 (2)匹配多个字符 (3)边界匹配 (4)分组匹配 4. re模块相关方法使用 总结 前言 有时候字符串匹配解决不了问题,这个时候就需要正则表达式来处理.因为每一次匹配(比如找以什么开头的,以什么结尾的字符串要写好多个函数)都要单独完成,我们可以给它制定一个规则. 主要应用:爬虫的时候需要爬取各种信息,使用正则表达式可以很方便的处理需要的数据. 1. 正则表达式的基本概念 使

  • Python3正则表达式之:(?(id/name)yes-pattern|no-pattern)条件性匹配

    目录 1. 用途 2. 参数含义 3. 语法 4. 用法详解 4.1 把(\d+)后面的问号去掉, 也就是说必须存在group 1,不是可有可无  4.2 改一下匹配字符串  4.3 group可有可无的情况(group后增加问号)  4.4 只匹配group 1 部分, yes部分没有匹配 5.结论 1. 通过4.1 4.2  4.3 对比可以发现: 2. 通过4.4可知:可以仅匹配group部分, 如果yes-pattern和no-pattern没有匹配到, 则会仅输出group匹配的内容

  • Python正则表达式保姆式教学详细教程

    目录 一.re模块 1.导入re模块 2.findall()的语法: 二.正则表达式 1.普通字符 2.元字符 (二)正则的使用 1.编译正则 2.正则对象的使用方法 3.Match object 的操作方法 4.re模块的函数 正则作为处理字符串的一个实用工具,在Python中经常会用到,比如爬虫爬取数据时常用正则来检索字符串等等.正则表达式已经内嵌在Python中,通过导入re模块就可以使用,作为刚学Python的新手大多数都听说"正则"这个术语. 今天来给大家分享一份关于比较详细

  • 一篇文章带你了解Python和Java的正则表达式对比

    目录 简单批量替换 复杂模板替换 总结 参考资料: 正则表达式语法–菜鸟教程 Java正则表达式实现 简单批量替换 举例:将and 批量替换为&& Python实现 import re def transformSimple(fromRegex, toText, inText): return re.sub(fromRegex, toText,inText, flags =re.I) if __name__ == "__main__": inText = "x

  • 超详细讲解python正则表达式

    目录 正则表达式 1.1 正则表达式字符串 1.1.1 元字符 1.1.2 字符转义 1.1.3 开始与结束字符 1.2 字符类 1.2.1 定义字符类 1.2.2 字符串取反 1.2.3 区间 1.2.4 预定义字符类 1.3 量词 1.3.1 量词的使用 1.3.2 贪婪量词和懒惰量词 1.4 分组 1.4.1 分组的使用 1.4.2 分组命名 1.4.3 反向引用分组 1.4.4 非捕获分组 1.5 re模块 1.5.1 search()和match()函数 1.5.2 findall()

  • Python常用正则函数使用方法详解

    今天给大家介绍一下Python中常用的正则表达式处理函数.Python的正则表达式主要有两种方法完成模式匹配:『搜索』和『匹配』   re.match re.match 尝试从字符串的开始全部或者部分匹配某个模式,如:下面的例子匹配第一个单词.  import re text = "PythonTab.com is a good Python website" m = re.match(r"(\w+)\s", text) if m: print m.group(0)

  • python正则表达式函数match()和search()的区别

    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) el

  • Python 正则表达式 re.match/re.search/re.sub的使用解析

    From Python正则表达式 re.match(pattern, string, flags=0) 尝试从字符串起始位置匹配一个模式:如果不是起始位置匹配成功,则 re.match() 返回none. 匹配成功,re.match() 返回一个匹配的对象,否则返回None. pattern - 匹配的正则表达式 string - 要匹配的字符串 flags - 标志位,控制正则表达式的匹配方式,如,是否区分大小写,多行匹配等. e.g. #!/usr/bin/python # -*- codi

  • python正则表达式re.match()匹配多个字符方法的实现

    1.  *表示匹配任意多个字符   \d*表示匹配任意多个数字字符 import re text = "123h1ello world" text1 = "123Hello world456" text2 = "hello world" res = re.match("\d*", text) res1 = re.match("\d*", text1) res2 = re.match("\d*&qu

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

    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.ma

  • python排序函数sort()与sorted()的区别

    python 中sorted与sort有什么区别 sort(cmp=None, key=None, reverse=False) sorted(iterable, cmp=None, key=None, reverse=False) sort是容器的函数,用List的成员函数sort进行排序 sorted是Python的内建函数相同的参数,用built-in函数sorted进行排序 sorted(iterable,key=None,reverse=False),返回新的列表,对所有可迭代的对象均

  • Python eval()函数和ast.literal_eval()的区别你知道吗

    eval()函数可以将字符串型的list.tuple.dict等等转换为原有的数据类型 即使用eval可以实现从元组,列表,字典型的字符串到元组,列表,字典的转化,此外,eval还可以对字符串型的输入直接计算 从上面来看,eval功能可谓是非常强大,即可以做string与list.tuple.dict之间的类型转换,还可以做计算器使用,但是eval强大的背后有着巨大的安全隐患,比如,用户恶意输入下面的字符串,是十分危险的 所以这里因为安全处理方式 ast.literal_eval(), 该函数会

  • 浅谈Python中re.match()和re.search()的使用及区别

    1.re.match() re.match()的概念是从头匹配一个符合规则的字符串,从起始位置开始匹配,匹配成功返回一个对象,未匹配成功返回None. 包含的参数如下: pattern: 正则模型 string : 要匹配的字符串 falgs : 匹配模式 match() 方法一旦匹配成功,就是一个match object对象,而match object对象有以下方法: group() 返回被 RE 匹配的字符串 start() 返回匹配开始的位置 end() 返回匹配结束的位置 span()返

  • Java及python正则表达式详解

    正则表达式语法及常用元字符: 正则表达式有元字符及不同组合来构成,通过巧妙的构造正则表达式可以匹配任意字符串,并完成复杂的字符串处理任务. 常用的元字符有: 其中在使用反斜线时要注意:如果以'\'开头的元字符与转义字符相同,则需要使用'\\'或者原始字符串,在字符串前面加上字符'r'或'R'.原始字符串可以减少用户的输入,主要用于'\\',主要用于正则表达式和文件路径字符串,如果字符串以一个'\'结束,则需要多加一个斜线,以'\\'结束. \  :将下一个字符标记为一个特殊字符.或一个原义字符.

  • python正则表达式之re.match()与re.search()的用法及区别

    目录 1.re.match()的用法 2.re.search()的用法 3.re.match()与re.search()的区别 1.re.match()的用法 re.match()方法是从起始位置开始匹配一个模式,匹配成功返回一个对象,未匹配成功返回None. 语法: re.match(pattern, string, flags=0) 参数说明: pattern:匹配的正则表达式: string:要匹配的字符串: flags:标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等

  • python正则表达式match和search用法实例

    本文实例讲述了python正则表达式match和search用法.分享给大家供大家参考.具体分析如下: python提供了2中主要的正则表达式操作:re.match 和 re.search. match :只从字符串的开始与正则表达式匹配,匹配成功返回matchobject,否则返回none: search :将字符串的所有字串尝试与正则表达式匹配,如果所有的字串都没有匹配成功,返回none,否则返回matchobject:(re.search相当于perl中的默认行为) import re d

随机推荐