#!/usr/bin/python
# # -*- coding: UTF-8 -*-
import re
str = "hazy is very happy"
m = re.match(r'(.*) is (.*?) .*',str,re.M|re.I)
s = re.search(r'(.*) is (.*?) .*',str,re.M|re.I)
if m:
print("测试 ",m.group())
print("测试 1", m.group(1))
print("测试 2", m.group(2))
else:
print("空")
if s:
print("测试 ",s.group())
print("测试 1", s.group(1))
print("测试 2", s.group(2))
else:
print("空")
#re.match与re.search的区别
ms = re.match( r'happy', str, re.M|re.I)
if ms:
print ("match --> ms.group() : ", ms.group())
else:
print ("No match!!")
ms = re.search( r'happy', str, re.M|re.I)
if ms:
print ("search --> ms.group() : ", ms.group())
else:
print ("No match!!")
re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。