`

python正则

 
阅读更多

参见《深入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')

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics