正則表達式語法
python中正則表達式語法與linux中的兼容
查看正則表達式
re模塊
Python提供re模塊,包含所有正則表達式的功能。由於Python的字符串本身也用\轉義,所以要特別注意:
s = 'ABC\\-001' # Python的字符串
# 對應的正則表達式字符串變成:
# 'ABC\-001'
建議使用Python的r前綴,就不用考慮轉義的問題了:
s = r'ABC\-001' # Python的字符串
# 對應的正則表達式字符串不變:
# 'ABC\-001'
用match()
方法判斷是否匹配成功,成功則返回Match
對象,否則返回None
test = '用戶輸入的字符串'
if re.match(r'正則表達式', test):
print('ok')
else:
print('failed')
切分字符串
用正則表達式切分字符串比用固定的字符更靈活,請看正常的切分代碼:
>>> 'a b c'.split(' ')
['a', 'b', '', '', 'c']
無法識別連續的空格,用正則表達式試試:
>>> re.split(r'\s+', 'a b c')
['a', 'b', 'c']
無論多少個空格都可以正常分割。加入,
試試:
>>> re.split(r'[\s\,]+', 'a,b, c d')
['a', 'b', 'c', 'd']
再加入;
試試:
>>> re.split(r'[\s\,\;]+', 'a,b;; c d')
['a', 'b', 'c', 'd']