把正则表达式预编译成正则表达式对象(模式对象),供以后使用.
#模式对象,有re.compile()返回
>>> pobj = re.compile('Hello,(.*)')
>>> pobj
<_sre.SRE_Pattern object at 0x7fb83dc9a530>
如果字符串起始处有0个或多个字符串匹配模式字符串, 返回1个相应的匹配对象.否则返回None.同等于re.search的^pattern.
>>> re.match('Hello,(.*)', 'Hello, you are welcome!')
<_sre.SRE_Match object at 0x7fb83db596c0>
扫描字符串string, 返回匹配pattern模式的匹配对象(mobj),否则返回None.
>>> re.search('(you are)', 'Hello, you are welcome!')
<_sre.SRE_Match object at 0x7fb83db59648>
用指定模式分解字符,返回分解后的列表.
>>> re.split('--', 'spam--egg--bar')
['spam', 'egg', 'bar']
pattern模式替换string后的字符串由repl返回, repl可以是函数或字符串.
>>> print re.sub(r'(.*)--(.*)--(.*)', r'I like 1 and 2, not 3', 'spam--egg--bar')
I like spam and egg, not bar
模式对象是由re.compile()返回的对象, 具有与re模块同构的函数. 如pobj.match(string [, flag]), pobj.search(string [, flag])等
返回n指定的匹配对象.
返回所有的匹配对象, 用元组表示.
#coding=utf⑻
import re
string = 'Hello, you are welcome!'
#预编译成模式对象,由re.compile()返回
pobj = re.compile('Hello,(.*)')
#匹配对象,由match()返回mobj
mobj = pobj.match(string)
print mobj.group(1) #调用匹配对象的方法group()
#可以不生成模式对象, 直接调用re模块函数, 简写为
print re.match('Hello,(.*)', 'Hello, you are welcome!').group(1)
下一篇 J2EE的13个规范总结