真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python中re指的是什么

了解python中re指的是什么?這個問題可能是我們?nèi)粘W習或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!

為北海等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及北海網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、北海網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

定義

正則表達式是一個特殊的字符序列,能方便的檢查一個字符串是否與某種模式匹配。re模塊使得python擁有全部的正則表達式功能。

用途

通過使用正則表達式,可以:

測試字符串內(nèi)的模式。—— 例如,可以測試輸入字符串,以查看字符串內(nèi)是否出現(xiàn)電話號碼模式或信用卡號碼模式。這稱為數(shù)據(jù)驗證。

替換文本?!?可以使用正則表達式來識別文檔中的特定文本,完全刪除該文本或者用其他文本替換它。

基于模式匹配從字符串中提取子字符串。—— 可以查找文檔內(nèi)或輸入域內(nèi)特定的文本。

語法

'.'     匹配所有字符串,除\n以外
'-'     表示范圍[0-9]
'*'     匹配前面的子表達式零次或多次。要匹配 * 字符,請使用 \*。
'+'     匹配前面的子表達式一次或多次。要匹配 + 字符,請使用 \+
'^'     匹配字符串開頭
'$'     匹配字符串結(jié)尾 re
'\'     轉(zhuǎn)義字符, 使后一個字符改變原來的意思,如果字符串中有字符*需要匹配,可以\*或者字符集[*] 
        re.findall(r'3\*','3*ds')結(jié)['3*']
'*'     匹配前面的字符0次或多次 re.findall("ab*","cabc3abcbbac")結(jié)果:['ab', 'ab', 'a']
'?'     匹配前一個字符串0次或1次 re.findall('ab?','abcabcabcadf')結(jié)果['ab', 'ab', 'ab', 'a']
'{m}'   匹配前一個字符m次 re.findall('cb{1}','bchbchcbfbcbb')結(jié)果['cb', 'cb']
'{n,m}' 匹配前一個字符n到m次 re.findall('cb{2,3}','bchbchcbfbcbb')結(jié)果['cbb']
'\d'    匹配數(shù)字,等于[0-9] re.findall('\d','電話:10086')結(jié)果['1', '0', '0', '8', '6']
'\D'    匹配非數(shù)字,等于[^0-9] re.findall('\D','電話:10086')結(jié)果['電', '話', ':']
'\w'    匹配字母和數(shù)字,等于[A-Za-z0-9] re.findall('\w','alex123,./;;;')結(jié)果['a', 'l', 'e', 'x', '1', '2', '3']
'\W'    匹配非英文字母和數(shù)字,等于[^A-Za-z0-9] re.findall('\W','alex123,./;;;')結(jié)果[',', '.', '/', ';', ';', ';']
'\s'    匹配空白字符 re.findall('\s','3*ds \t\n')結(jié)果[' ', '\t', '\n']
'\S'    匹配非空白字符 re.findall('\s','3*ds \t\n')結(jié)果['3', '*', 'd', 's']
'\A'    匹配字符串開頭
'\Z'    匹配字符串結(jié)尾
'\b'    匹配單詞的詞首和詞尾,單詞被定義為一個字母數(shù)字序列,因此詞尾是用空白符或非字母數(shù)字符來表示的
'\B'    與\b相反,只在當前位置不在單詞邊界時匹配
[]      是定義匹配的字符范圍。比如 [a-zA-Z0-9] 表示相應(yīng)位置的字符要匹配英文字符和數(shù)字。[\s*]表示空格或者*號
'(?P...)'  分組,除了原有編號外在指定一個額外的別名 
re.search("(?P[0-9]{4})(?P[0-9]{2})(?P[0-9]{8})","371481199306143242").groupdict("city") 
結(jié)果{'province': '3714', 'city': '81', 'birthday': '19930614'}

模式

貪婪模式和非貪婪模式

正則表達式通常使用于查找匹配字符串。python里數(shù)量詞默認是貪婪的,總是嘗試匹配盡可能多的字符;非貪婪模式正好相反,總是嘗試匹配盡可能少的字符。

使用方法

在python中默認采用的是貪婪模式,使用非貪婪模式的話,只需要在量詞后面直接加上一個問號”?”。 

例子當中已經(jīng)匹配到了“ab”時已經(jīng)可以使整個表達式匹配成功,但是由于采用的是貪婪模式,所以還需要往后繼續(xù)匹配,一直到匹配到最后一個”b”的時候,后面已經(jīng)沒有可以成功匹配的字符串了,匹配結(jié)束。返回匹配結(jié)果“abbbbbb”。 所以,我們可以將貪婪模式理解為:在整個表達式匹配成功的前提下,盡可能多的匹配。

非貪婪模式也就是將我們例子中的正則表達式“ab+”改為”ab+?”,當匹配到“ab”時,已經(jīng)匹配成功,直接結(jié)束匹配,不在向后繼續(xù)嘗試,返回匹配成功的字符串”ab”。 

所以,我們可以將非貪婪模式理解為:在整個表達式匹配成功的前提下,盡可能少的匹配。

感謝各位的閱讀!看完上述內(nèi)容,你們對python中re指的是什么大概了解了嗎?希望文章內(nèi)容對大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


網(wǎng)頁標題:python中re指的是什么
網(wǎng)頁URL:http://weahome.cn/article/jsddjh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部