(5) | 1如何匹配一個可選的(0個或1個)字母 "a"? (5) |
| (1) | I don't know |
| (2) | a+ |
| (3) | a* |
| (4) | a{2} |
| (5) | a? |
詳解: | ? 表示匹配零個或一個。 |
(3) | 2如何匹配一個字串中所有的換行符? (11) |
| (1) | n |
| (2) | r |
| (3) | r?n |
| (4) | R |
| (5) | I don't know |
詳解: | r?n 在 Windows 系統中匹配換行符。在跨平台應用中,R 或許更合適。 |
(4) | 3如何匹配任何不是字母或數字的字元? (15) |
| (1) | I don't know |
| (2) | w |
| (3) | s |
| (4) | W |
| (5) | d |
詳解: | W 匹配任何非字母數字字元。 |
(2) | 4如何匹配一個字串中出現的任何重複的單詞,例如 "the the"? (19) |
| (1) | (w+) 1 |
| (2) | b(w+)s+1b |
| (3) | w+ w+ |
| (4) | I don't know |
| (5) | b(w+)b |
詳解: | b(w+)s+1b 使用捕獲組 1 來匹配第一個單詞的重複。 b 是單字邊界。 |
(1) | 5如何匹配一個或多個字母? (4) |
| (1) | [a-z]+ |
| (2) | [a-z]* |
| (3) | [a-z]? |
| (4) | I don't know |
| (5) | [a-z] |
詳解: | + 表示匹配一個或多個。 |
(3) | 6匹配以下哪一個模式可以找到所有以 "abc" 開頭的字串? (1) |
| (1) | I don't know |
| (2) | abc* |
| (3) | ^abc |
| (4) | abc$ |
| (5) | .*abc |
詳解: | ^ 表示字串的開頭,abc 精確匹配 "abc"。 |
(3) | 7以下哪一個正規表示式可以用來匹配電子郵件地址? (3) |
| (1) | I don't know |
| (2) | w+@w+ |
| (3) | w+@w+.w+ |
| (4) | .*@.* |
| (5) | .+@.+..+ |
詳解: | w+ 匹配一個或多個字母數字字元,@ 匹配 "@" 符號,. 匹配 "." 符號。更嚴謹的郵件驗證需要更複雜的模式。 |
(2) | 8如何匹配任何空白字元(空格、製表符、換行符等)? (7) |
| (1) | I don't know |
| (2) | s |
| (3) | w |
| (4) | d |
| (5) | . |
詳解: | s 表示任何空白字元。 |
(5) | 9如何使用正規表示式替換字串中的所有空格為下劃線? (13) |
| (1) | I don't know |
| (2) | s/s/_/g |
| (3) | s/ /_/g |
| (4) | s/s/_/ |
| (5) | s/s+/_/g |
詳解: | s/pattern/replacement/g 是常見的替換語法,s 匹配空格,g 表示全局替換。 |
(1) | 10哪一個正規表示式可以匹配 HTML 標籤,例如 "<p>" 或 "<div>"? (10) |
| (1) | <[a-zA-Z]+> |
| (2) | I don't know |
| (3) | <.*> |
| (4) | <.+> |
| (5) | <[^>]+> |
詳解: | <[a-zA-Z]+> 匹配由字母組成的標籤名稱。更嚴謹的 HTML 標籤匹配需要考慮屬性等。 |
(5) | 11如何匹配一個 6 位數的十六進位顏色代碼,例如 "#FFFFFF" 或 "#000000"? (17) |
| (1) | #[0-9]{6} |
| (2) | #w{6} |
| (3) | I don't know |
| (4) | #[0-9A-Fa-f]{3,6} |
| (5) | #[0-9A-Fa-f]{6} |
詳解: | [0-9A-Fa-f] 匹配十六進位字元,{6} 表示精確匹配 6 次。 |
(3) | 12哪一個正規表示式可以用來匹配一個美元金額,例如 "$123.45"? (8) |
| (1) | $[0-9]+(.[0-9]+)? |
| (2) | $[0-9]*.[0-9]{2} |
| (3) | $[0-9]+(.[0-9]{2})? |
| (4) | $d+.d+ |
| (5) | I don't know |
詳解: | $ 匹配 "$" 符號,[0-9]+ 匹配一個或多個數字,(.[0-9]{2})? 匹配可選的小數部分 (點和兩位數字)。 |
(4) | 13哪個正規表示式可以匹配以 "http://" 或 "https://" 開頭的 URL? (16) |
| (1) | http://.* |
| (2) | https://.* |
| (3) | (http|https)://.* |
| (4) | https?://.* |
| (5) | I don't know |
詳解: | https?:// 匹配 "http://" 或 "https://"。 |
(5) | 14哪個正規表示式可以從字串 "apple, banana, cherry" 中提取出單獨的水果名稱? (14) |
| (1) | w+ |
| (2) | .*, |
| (3) | I don't know |
| (4) | w+,s* |
| (5) | (w+)(?:,s*) |
詳解: | (w+)(?:,s*) 使用捕獲組來提取水果名稱,(?:,s*) 是一個非捕獲組,用於匹配逗號和空格。 |
(3) | 15哪一個正規表示式可以匹配一個信用卡號碼? (僅格式,不驗證 Luhn 算法) (20) |
| (1) | d{16} |
| (2) | [0-9]{16} |
| (3) | d{4}[- ]?d{4}[- ]?d{4}[- ]?d{4} |
| (4) | I don't know |
| (5) | d{4}-d{4}-d{4}-d{4} |
詳解: | d{4}[- ]?d{4}[- ]?d{4}[- ]?d{4} 匹配 4 個數字,後面跟著可選的連字符或空格,重複四次。 |
(5) | 16哪個正規表示式可以匹配一個有效的 IPv4 地址? (12) |
| (1) | ([0-9]{1,3}.){3}[0-9]{1,3} |
| (2) | I don't know |
| (3) | d+.d+.d+.d+ |
| (4) | [0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3} |
| (5) | (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?) |
詳解: | 最嚴謹的 IPv4 匹配需要考慮 0-255 的數值範圍。 |
(4) | 17哪個正規表示式可以移除 HTML 標籤中的所有屬性? (18) |
| (1) | <.*?> |
| (2) | <.*> |
| (3) | I don't know |
| (4) | <[^>]+?> |
| (5) | <[^>]*> |
詳解: | 使用惰性匹配 `?` 避免一次性匹配多個標籤。 |
(1) | 18如何匹配一個不區分大小寫的單詞 "word"? (9) |
| (1) | (?i)word |
| (2) | [wW][oO][rR][dD] |
| (3) | [word] |
| (4) | I don't know |
| (5) | word |
詳解: | (?i) 是不區分大小寫的標誌。 |
(1) | 19哪一個正規表示式可以匹配任何一個數字? (2) |
| (1) | d |
| (2) | D |
| (3) | I don't know |
| (4) | w |
| (5) | s |
詳解: | d 表示任何一個數字 (0-9)。 |
(4) | 20哪一個正規表示式可以匹配 "color" 或 "colour"? (6) |
| (1) | col(o|ou)r |
| (2) | col[ou]r |
| (3) | I don't know |
| (4) | colou?r |
| (5) | color|colour |
詳解: | u? 表示 "u" 是可選的。 |