首页  >  文章  >  web前端  >  正则表达式里的match()、search()函数与match()和search()函数的具体有什么区别呢?

正则表达式里的match()、search()函数与match()和search()函数的具体有什么区别呢?

php中世界最好的语言
php中世界最好的语言原创
2018-01-08 11:04:334479浏览

这次给大家带来正则表达式里的match()、search()函数与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中正则表达式match()函数

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

相信看了这些案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

相关阅读:

怎样用正则表达式让JavaScript的代码高亮

JS 正则表达式用法的详细介绍

正则表达式表单验证的实例介绍

以上是正则表达式里的match()、search()函数与match()和search()函数的具体有什么区别呢?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn