当前位置: 首页 > 编程笔记 >

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

白昊东
2023-03-14
本文向大家介绍Python中正则表达式match()、search()函数及match()和search()的区别详解,包括了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.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中正则表达式match()函数

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

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

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


 类似资料:
  • 本文向大家介绍re的match和search区别?相关面试题,主要包含被问及re的match和search区别?时的应答技巧和注意事项,需要的朋友参考一下 re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。 re.search 扫描整个字符串并返回第一个成功的匹配。  

  • 使用正则表达式有两个基本操作看起来相似但有显着差异。 re.match()仅在字符串的开头检查匹配,而re.search()检查字符串中任何位置的匹配。 这在文本处理中起着重要作用,因为我们通常必须编写正确的正则表达式来检索用于情感分析的文本块作为示例。 import re if re.search("tor", "Tutorial"): print "1. search res

  • match() vs search() match() 函数只检查 RE 是否在字符串开始处匹配,而 search() 则是扫描整个字符串。记住这一区别是重要的。记住,match() 只报告一次成功的匹配,它将从 0 处开始;如果匹配不是从 0 开始的,match() 将不会报告它。 #!python >>> print re.match('super', 'superstition').span

  • 本文向大家介绍PHP preg match正则表达式函数的操作实例,包括了PHP preg match正则表达式函数的操作实例的使用技巧和注意事项,需要的朋友参考一下 在php中preg_match()函数是用来执行正则表达式的一个常用的函数。正则表达式几乎在所有编程语言里面都会用到,本实例介绍php中正则表达式preg_match函数的应用。 preg_match() 函数用于进行正则表达式匹配

  • 问题内容: 有没有办法在Java中的regex match()结果的字符串中检索(开始)字符位置? 问题答案: 这是我想出的:

  • 本文向大家介绍全面解析JS字符串和正则表达式中的match、replace、exec等函数,包括了全面解析JS字符串和正则表达式中的match、replace、exec等函数的使用技巧和注意事项,需要的朋友参考一下 正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。 正则表达式