把正則表達式預編譯成正則表達式對象(模式對象),供以后使用.
#模式對象,有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個規范總結