每日python(4)

re.match与re.search的区别:re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。

pattern = re.complie(regexp)

pattern.match和pattern.search的区别也是上述

 1 pattern2 = re.compile(r'(hello).+(world)')
 2 
 3 match = pattern2.match("helloworld hello hello abc dsdhka ad--a=da world")
 4 
 5 if match:
 6     print match.group(1, 2)
 7     print "*****"
 8     print match.group(2)
 9 else:
10     print "no result"

这个的结果是:

('hello', 'world')
*****
world

  

但是:

pattern = re.compile(r'(hello).+(world)')

match = pattern.match("hello hello hello abc dsdhka ad--a=da world")

if match:
    print match.group(1, 2)
    print "*****"
    print match.group(2)
else:
	print "no result"

  的结果是: no result

同样:

pattern = re.compile(r'(hello).+(world)')

match = pattern.match("dsdhka ad--a=da hello hello hello world")

if match:
    print match.group(1, 2)
    print "*****"
    print match.group(2)
else:
	print "no result"

  的结果也是: no result

但是research方法对于以上三种输入都是 

('hello', 'world')
*****
world

  的结果

原文地址:https://www.cnblogs.com/ivywenyuan/p/4766350.html