Python 正規表示式練習題

2021-08-24 23:14:45 字數 2169 閱讀 8633

1. 建立regex物件的函式是什麼?

答:re.compile()函式返回regex物件。

2. 在建立regex物件時,為什麼常用原始字串?

答:使用原始字串是為了讓反斜槓不必轉義。

3. search()方法返回什麼?

答:search()方法返回match物件。

4. 通過match物件,如何得到匹配該模式的實際字串?

答:group()方法返回匹配文字的字串。

5. 用 r'(\d\d\d)-(\d\d\d - \d\d\d\d)' 建立的正規表示式中,分組0表示什麼?分組1呢?分組2呢?

答:分組0表示整個匹配,分組1包含第一組括號,分組2包含第二組括號。

6. 括號和句點在正規表示式語法中有特殊的含義。如何制定正規表示式匹配真正的括號和句點字元?

答:句號和括號可以用反斜槓轉義:\.、\(和\)。

7. findall()方法返回乙個字串的列表,或字串元組的列表。是什麼決定它提供哪種返回?

答:如果正規表示式沒有分組,就返回字串的列表。如果正規表示式有分組,就返回字串元組的列表。

8. 在正規表示式中,|字元表示什麼意思?

答:|表示匹配2組中的"任何乙個"。

9. 在正規表示式中,?字元表示什麼意思?

答:?字元可以表示"匹配前面分組0次或1次",或用於表示非貪婪匹配。

10. 在正規表示式中,+和*字元之間的區別是什麼?

答:+匹配1次或多次。*匹配0次或多次。

11. 在正規表示式中,和之間的區別是什麼?

答:精確匹配前面分組的3次例項。匹配3至5次例項。

12. 在正規表示式中,\d、\w和\s縮寫字元類是什麼意思?

答:數字、單詞和空白字元。

13. 在正規表示式中,\d、\w和\s縮寫字元類是什麼意思?

答:分別匹配乙個字元,它不是數字、單詞或空白字元。

14. 如何讓正規表示式不區別大小寫?

答:將re.i 或者 re.ignorecase作為第二個引數傳入re.compile(),讓匹配不區分大小寫。

15. 字元.通常匹配什麼?如果 re.dotall作為第二個引數傳遞給re.compile(),它會匹配什麼?

答:字元.通常匹配任何字元,換行符除外。

16. .*和.*?之間的區別是什麼?

答:.*表示貪婪匹配,.*?表示非貪婪匹配。

17. 匹配所有數字和小寫字母的字元分類語法是什麼?

答:[0-9a-z]或[a-z0-9]

18. 如果 numregex = re.compile(r'\d+'),那麼numregex.sub('x','12 drummers,11pipers,five rings,3hens')返回什麼?

答:'x drummers,x pipers,five rings,x hens'

19. 將re.verbose 作為第二個引數傳遞給re.compile(),讓你能做什麼?

答:新增空格和注釋

20. 如何寫乙個正規表示式,匹配每3位就有乙個逗號的數字?它必須匹配以下數字:

●  '42'

●  '1,234'

●  '6,368,745'

但不會匹配:

●  '12,34,567'(逗號之間只能有兩位數字)

●  '1234'(缺少逗號)

答:re.compile(r'^\d(,)*$')

21. 如何寫乙個正規表示式,匹配姓名makamoto的完整姓名?你可以假定名字總是出現在姓前面,是乙個大寫字母開頭的單詞。

該正規表示式必須匹配:

● 'satoshi nakamoto'

● 'alice nakamoto'

● 'robocop nakamoto'

但不匹配:

● 'satoshi nakamoto'

● 'mr.nakamoto'

● 'nakamoto'

● 'satoshi nakamoto'

答:re.compile(r'[a-z][a-z]*\snakamoto')

● 'bob pets cats'

● 'carol throws baseballs'

● 'bob eats cats'

但不匹配:

● 'alice throws footablls'

● 'carol eats 7 cats'

正規表示式練習題

1.顯示 proc meminfo檔案中以大小s開頭的行 要求兩種方法 cat proc meminfo grep ss cat proc meminfo grep s s 2.顯示 etc passwd檔案中不以 bin bash結尾的行 cat etc passwd grep v bin bas...

JavaAPI練習題 正規表示式

要求使用者輸入若干員工資訊,格式為 name,age,gender,salary name,age,gender,salary 例如 張三,25,男,5000 李四,26,女,6000 然後將每個員工資訊解析成person物件。並存入到乙個陣列中。然後迴圈陣列,輸出每乙個員工資訊 輸出使用tostr...

正規表示式練習題自帶注釋

參 root desktop1 grep n the regular express.txt root desktop1 grep vn the regular express.txt root desktop1 grep in the regular express.txt root deskto...