| (4) | 1匹配所有以 "ing" 結尾的單詞 (20) |
| (1) | ingb |
| (2) | ing |
| (3) | I don't know |
| (4) | bw+ingb |
| (5) | w+ing |
| 詳解: | 選項1 "bw+ingb" 匹配以 "ing" 結尾的單詞。 "b" 代表單詞邊界, "w+" 匹配一個或多個單詞字元。 |
| (1) | 2將字串中的所有空格替換為下劃線 (12) |
| (1) | s |
| (2) | _ |
| (3) | S |
| (4) | ^s |
| (5) | I don't know |
| 詳解: | 選項1 "s" 匹配任何空白字元(空格、製表符、換行符等)。 |
| (3) | 3匹配重複出現的單詞 (例如: the the) (16) |
| (1) | bw+s+w+b |
| (2) | I don't know |
| (3) | b(w+)s+1b |
| (4) | b(w+)s+(w+)b |
| (5) | b(w+)1b |
| 詳解: | 選項1 "b(w+)s+1b" 匹配重複出現的單詞。 "1" 是一個反向引用,引用第一個捕獲組。 "b" 代表單詞邊界。 |
| (5) | 4使用環顧斷言匹配 "foo" 但只在它前面有 "bar" 時才匹配 (18) |
| (1) | (?=bar)foo |
| (2) | (bar)foo |
| (3) | barfoo |
| (4) | I don't know |
| (5) | (?<=bar)foo |
| 詳解: | 選項1 "(?<=bar)foo" 使用正向後行斷言。 "(?<=bar)" 確保 "foo" 前面是 "bar",但不包含在匹配結果中。 |
| (5) | 5驗證字串是否為有效的IP地址 (17) |
| (1) | I don't know |
| (2) | ^d{1,3}.d{1,3}.d{1,3}.d{1,3}$ |
| (3) | ^(d{1,3}.){3}d{1,3}$ |
| (4) | ^([0-9]{1,3}.){3}[0-9]{1,3}$ |
| (5) | ^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ |
| 詳解: | 選項4 "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" 是更精確的IP地址驗證,確保每個數字都在0-255之間。 |
| (1) | 6匹配一個包含 "error" (不區分大小寫) 的字串 (11) |
| (1) | (?i)error |
| (2) | I don't know |
| (3) | (?i)eror |
| (4) | error |
| (5) | Error |
| 詳解: | 選項4 "(?i)error" 使用 "(?i)" 標誌使匹配不區分大小寫。 |
| (4) | 7匹配一個HTML標籤 (14) |
| (1) | <.*?> |
| (2) | I don't know |
| (3) | <.+> |
| (4) | <[^>]+> |
| (5) | <.*> |
| 詳解: | 選項2 "<[^>]+>" 匹配一個 HTML 標籤。 "[^>]" 匹配除了 ">" 之外的任何字元, "+" 確保標籤內至少有一個字元。 |
| (1) | 8提取HTML標籤內的內容 (15) |
| (1) | >([^*]+)< |
| (2) | I don't know |
| (3) | >([^<]+)< |
| (4) | >.*< |
| (5) | >(.*)< |
| 詳解: | 選項1 ">([^<]+)<" 匹配 HTML 標籤內的內容。 "(...)" 創建一個捕獲組,用於提取內容。 "[^<]" 確保標籤內不含小於符號 |
| (2) | 9匹配一個有效的日期格式 (YYYY-MM-DD) (13) |
| (1) | ^d{4}-d{1,2}-d{1,2}$ |
| (2) | ^d{4}-d{2}-d{2}$ |
| (3) | ^d{4}-d{2}-d{2}-d{2}$ |
| (4) | I don't know |
| (5) | ^d{4}/d{2}/d{2}$ |
| 詳解: | 選項3 "^d{4}-d{2}-d{2}$" 匹配 YYYY-MM-DD 格式的日期。"^"與"$"保證字串格式 |
| (2) | 10使用環顧斷言匹配 "foo" 但只在它後面沒有 "bar" 時才匹配 (19) |
| (1) | I don't know |
| (2) | foo(?!bar) |
| (3) | foo(?=bar) |
| (4) | foo(bar) |
| (5) | foobar |
| 詳解: | 選項1 "foo(?!bar)" 使用反向先行斷言。 "(?!bar)" 確保 "foo" 後面不是 "bar",但不包含在匹配結果中。 |