python中正則表達式

正則表達式語法

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']
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章