参见《深入Python 3》 Chapter 5. 正则表达式:
http://woodpecker.org.cn/diveintopython3/regular-expressions.html
以下是摘要:
# -*- coding=utf-8 -*- import re s1 = '100 BROAD ROAD APT. 3' s2 = '100 BROAD ROAD' # 1. python正则时,建议用原始字符串 # 2. re.sub() # 仅将最后的独立ROAD字符串替换掉 print re.sub(r'\bROAD$', 'RD.', s1) print re.sub(r'\bROAD$', 'RD.', s2) # 将独立的ROAD字符串替换掉(包括开始和最后) print re.sub(r'\bROAD\b', 'RD.', s1) print re.sub(r'\bROAD\b', 'RD.', s2) #3. re.search() # ^...$表示匹配整个字符串, ?表示匹配是可选的 pattern = '^M?M?M?$' #字符串为'' 或 'M' 或 'MM' 或 'MMM' # {1,4}匹配1到4个前面的模式 pattern2 = '^M{0,3}$' #与上等价 # (A|B|C)表示只匹配A,B,或C中的一个 pattern3 = '^M?M?M?(CM|CD|D?C?C?C?)(XC|XL|L?X?X?X?)$' pattern4 = 'MD' s = 'MDTTTTMDD' res = re.search(pattern4, s) print res.groups() print res.group(0) import os print os.path.dirname('C/b/a.html') print os.path.basename('C/b/a.html')