1. 程式人生 > >python 正則表示式注意事項和re.match()和re.search()區別

python 正則表示式注意事項和re.match()和re.search()區別

首先,正則我們一般用到re.match()和re.search()

其中re.match()是從開始進行匹配的,re.search()是從中間開始匹配.

另外關於懶惰匹配的問題,需要懶惰的地方加"?"可以懶惰匹配;例如:

import re
line = open('./res.txt').readline()
m = re.search("\[\[\"(.*?)\\\\u003cb",line)
print m.group(1)

舉個例子
字串"abcd"
那麼"a.*"匹配的是"abcd"
"a.*?"匹配的是"a"
"a.*?d"匹配的是"abcd"
"a.*d"匹配的是"abcd"

這個"?"的地方的就會盡可能的匹配少的任意字元(.),如果你不加這個問號,那麼它就匹配儘可能長的字元

還有一個問題: python  的 \   轉義要用  \\\\   四個反斜槓