字符串是編程時(shí)涉及到的最多的一種數(shù)據(jù)結(jié)構(gòu),對(duì)字符串進(jìn)行操作的需求無(wú)處不在。 正則表達(dá)式是一種匹配字符串的強(qiáng)有力的武器。它的設(shè)計(jì)思想是用一種描述性的語(yǔ)言來(lái)給字符串定義一個(gè)規(guī)則。凡是符合規(guī)則的字符串,我們就認(rèn)為它匹配了;否則該字符串就是不合法的。re 模塊,使 Python 語(yǔ)言擁有全部的正則表達(dá)式功能。1.一圖總結(jié)正則表達(dá)式的核心知識(shí)點(diǎn)2.正則表達(dá)式的案例實(shí)戰(zhàn)1.一圖學(xué)會(huì)正則表達(dá)式2.正則表達(dá)式的案例實(shí)戰(zhàn)import re
ret = re.match('復(fù)仇者聯(lián)盟\d','復(fù)仇者聯(lián)盟5') ret.group()
#輸出結(jié)果:'復(fù)仇者聯(lián)盟5'
# 非貪婪匹配 (匹配最短的 以a開(kāi)頭以b結(jié)尾 的字符串)ret_ft = re.match('a.*?b', 'aabab') ret_t = re.match('a.*b', 'aabab')
print(ret_ft.group(), ret_t.group())
# aab aabab
- 變量名只有由數(shù)字、字母、下劃線組成。# 案例1 # 判斷變量名是否合法 names = ['age_1', '1age_', 'age-1', '/age', 'get_ipython'] for name in names: ret3 = re.match('^[a-zA-Z_][a-zA-Z0-9_]*$', name)
if ret3: print('{}:符合規(guī)范,匹配結(jié)果:{}'.format(name, ret3.group())) else: print('{}:不符合規(guī)范'.format(name))
# age_1:符合規(guī)范,匹配結(jié)果:age_1 # 1age_:不符合規(guī)范 # age-1:不符合規(guī)范 # /age:不符合規(guī)范 # get_ipython:符合規(guī)范,匹配結(jié)果:get_ipython
|