python面試題匯總第06期-正則表達式(內附7題及答案)


經過自己面試的經驗,我幫大家對python的知識點進行歸類,讓大家能在最短時間內掌握核心知識點,更高效地搞定 Python 面試!
今天我為大家總結了python面試中,關於正則表達式的幾個例子!

 

1.python正則表達式中匹配(match)和查找(search)的區別

答:正則表達式中match和search的方法比較相似

相同點:都是在一個字符串s中尋找pat子字符串,如果能找到,就返回一個Match對象,如果找不到,就返回None。

不同點:mtach方法是從頭開始匹配,而search方法,可以在s字符串的任一位置查找。

編寫的代碼如下:

運行結果:

從結果中,我們可以看出,python中用match和search方法都可以反饋ours中的our字符串,而對於flourish,只有search能返回Match對象,而因為不是在頭部匹配到,所以match方法返回了None。

2.再python中group和groups的區別

答:group和groups是兩個不同的函數。

一般,m.group(N) 返回第N組括號匹配的字符。

而m.group() == m.group(0) == 所有匹配的字符,與括號無關,這個是API規定的。

m.groups() 返回所有括號匹配的字符,以tuple格式(元組格式),不包括

m.group(0),即整個表達式.

m.groups() == (m.group(0), m.group(1),……)

3.python中運用正則去除以下html文件中的標簽,只顯示文本信息。

答:利用python正則表達式re模塊中的sub方法,將標簽替換為空字符串,代碼如下:

編輯

運行結果:python小當家 python面試題匯總

4.python中用正則表達式提取字符串中所有域名:

答:利用sub方法,將整個字符串替換為只含域名的字符串。代碼如下:

運行結果如下:

5.利用python正則表達式,從字符串"hello world luozhixiang"中,提取出所有單詞

答:利用split方法分割空格或者用findall方法尋找到所有的單詞,代碼如下:

運行結果:['hello', 'world', 'luozhixiang']

6.python正則表達式中“.*”和“.*?”的區別

答:表達式 .* 的意思很好理解,就是單個字符匹配任意次,即貪婪匹配。

表達式 .*? 是滿足條件的情況只匹配一次,即懶惰匹配

演示代碼和演示結果如下:

7.利用python語言,使用正則將字符串"羅志祥202004月真的很倒霉,替蔣凡當了3695489點傷害"中,連續5個以上數字替換成*


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM