標籤:python Regex 模式 pattern
模組函數re.compile(pattern [, flag])
把Regex先行編譯成Regex對象(模式對象),供以後使用.
#模式對象,有re.compile()返回>>> pobj = re.compile(‘Hello,(.*)‘)>>> pobj<_sre.SRE_Pattern object at 0x7fb83dc9a530>
re.match(pattern, string [, flag])
如果字串起始處有0個或多個字串匹配模式字串, 返回一個相應的匹配對象.否則返回None.等同於re.search的^pattern.
>>> re.match(‘Hello,(.*)‘, ‘Hello, you are welcome!‘)<_sre.SRE_Match object at 0x7fb83db596c0>
re.search(pattern, string [, flag])
掃描字串string, 返回匹配pattern模式的匹配對象(mobj),否則返回None.
>>> re.search(‘(you are)‘, ‘Hello, you are welcome!‘)<_sre.SRE_Match object at 0x7fb83db59648>
re.split(pattern, string [, maxsplit=0])
用指定模式分解字元,返回分解後的列表.
>>> re.split(‘--‘, ‘spam--egg--bar‘)[‘spam‘, ‘egg‘, ‘bar‘]
re.sub(pattern, repl, string, count=0, flags=0)
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
Regex對象(模式對象)
模式對象是由re.compile()返回的對象, 擁有與re模組同構的函數. 如pobj.match(string [, flag]), pobj.search(string [, flag])等
匹配對象的方法mobj.group(n)
返回n指定的匹配對象.
mobj.groups()
返回所有的匹配對象, 用元組表示.
簡單一實例
#coding=utf-8import restring = ‘Hello, you are welcome!‘#先行編譯成模式對象,由re.compile()返回pobj = re.compile(‘Hello,(.*)‘)#匹配對象,由match()返回mobjmobj = pobj.match(string)print mobj.group(1) #調用匹配對象的方法group()#可以不產生模式對象, 直接調用re模組函數, 簡寫為print re.match(‘Hello,(.*)‘, ‘Hello, you are welcome!‘).group(1)
pythonRegex的簡單使用