(2) | 1如何用正規表示式檢查一個字串是否只包含字母和數字? (22) |
| (1) | [a-zA-Z]+ |
| (2) | ^[a-zA-Z0-9]+$ |
| (3) | ^[a-zA-Z]+$ |
| (4) | [a-zA-Z0-9_]+ |
| (5) | I don't know |
詳解: | `^` 和 `$` 分別表示字串的開始和結束。 `[a-zA-Z0-9]` 匹配字母和數字。 `+` 匹配一個或多個。 |
(4) | 2哪個正規表示式可以匹配一個浮點數(包含整數部分和小數部分)? (35) |
| (1) | d+ |
| (2) | d*.d* |
| (3) | d+.d+ |
| (4) | -?d+.d+ |
| (5) | I don't know |
詳解: | 這個選項匹配帶正負號的浮點數 |
(5) | 3哪個正規表示式能匹配所有以 ".jpg" 或 ".png" 結尾的檔案名稱? (23) |
| (1) | .*.jpg|.*.png |
| (2) | .*.jpg|png |
| (3) | .(jpg|png) |
| (4) | I don't know |
| (5) | .(jpg|png)$ |
詳解: | `.` 匹配 "." 字符。 `(jpg|png)` 匹配 "jpg" 或 "png"。 `$` 匹配字串的結尾。 |
(4) | 4如何使用正規表示式在一段文字中,找出所有以特定單字(例如 "error")開頭的句子? (40) |
| (1) | b[Ee]rror.*[.?!] |
| (2) | [Ee]rror[^.?!]*[.?!] |
| (3) | I don't know |
| (4) | ^[Ee]rror.* |
| (5) | [Ee]rror.*[.?!] |
詳解: | 這個選項找出 "error"(不論大小寫)開頭的句子,直到遇到句尾符號(`.`、`?` 或 `!`)。 |
(3) | 5如何使用正規表示式提取所有 HTML 標籤的名字? (30) |
| (1) | I don't know |
| (2) | <.*> |
| (3) | <[^>]*> |
| (4) | <([a-zA-Z]+).*?> |
| (5) | <(w+)> |
詳解: | `<([a-zA-Z]+).*?>` 匹配 HTML 標籤,並使用捕獲組提取標籤名稱。 |
(3) | 6如何使用正規表示式把所有 HTML 標籤轉換為大寫? (38) |
| (1) | I don't know |
| (2) | <.*?> |
| (3) | <[^>]*?> |
| (4) | <(/?w+)> |
| (5) | |
詳解: | 這個選項使用捕獲群組把標籤名稱抓出來,再替換為大寫。 |
(3) | 7哪個正規表示式可以匹配一個信用卡號碼(只匹配格式,不驗證 Luhn 算法)? (33) |
| (1) | d{15,16} |
| (2) | d{4}-d{4}-d{4}-d{4} |
| (3) | d{4}[ -]?d{4}[ -]?d{4}[ -]?d{4} |
| (4) | [0-9]{16} |
| (5) | I don't know |
詳解: | 這個選項可以匹配帶有空格或連字符分隔符的信用卡號碼格式。 |
(5) | 8如何使用正規表示式從字串中刪除所有重複的字母?(例如 "aabbcc" 變成 "abc") (28) |
| (1) | (.).+ |
| (2) | (.).*?1 |
| (3) | (.)* |
| (4) | I don't know |
| (5) | (.)1+ |
詳解: | `(.)1+` 匹配重複的字母,然後可以使用替換功能將它們替換為單個字母。 |
(1) | 9如何使用正規表示式提取字串中所有數字? (26) |
| (1) | d+ |
| (2) | w |
| (3) | I don't know |
| (4) | [0-9] |
| (5) | D |
詳解: | `d+` 匹配一個或多個數字。要取得所有數字需搭配全域搜尋。 |
(5) | 10如何使用正規表示式將所有單引號替換為雙引號? (36) |
| (1) | ([^']*)' |
| (2) | (.*)'(.*) |
| (3) | I don't know |
| (4) | ' |
| (5) | " |
詳解: | 直接替換單引號為雙引號即可 |
(3) | 11如何使用正規表示式移除字串中所有 HTML 注釋(``)? (24) |
| (1) | <!----> |
| (2) | <!--.*--> |
| (3) | <!--.*?--> |
| (4) | I don't know |
| (5) | <!--.*--> |
詳解: | `` 使用了非貪婪匹配 `*?`,避免跨越多個注釋區塊。 |
(2) | 12哪個正規表示式可以匹配一個有效的電話號碼格式(例如 123-456-7890 或 (123) 456-7890)? (31) |
| (1) | d{10} |
| (2) | ((d{3}) |d{3}-)d{3}-d{4} |
| (3) | I don't know |
| (4) | d{3}-d{3}-d{4} |
| (5) | (d{3}) d{3}-d{4} |
詳解: | 這個選項可以匹配多種常見的電話號碼格式,包括帶括號的區號和不帶括號的區號。 |
(3) | 13哪個正規表示式可以匹配一個簡單的 IP 地址(不驗證數值範圍)? (29) |
| (1) | (d{1,3}.){3}d{1,3} |
| (2) | I don't know |
| (3) | d{1,3}.d{1,3}.d{1,3}.d{1,3} |
| (4) | d+.d+.d+.d+ |
| (5) | [0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3} |
詳解: | 這個選項匹配四組由點分隔的 1 到 3 位數字。 |
(1) | 14哪個正規表示式可以匹配包含至少一個大寫字母、一個小寫字母和一個數字的密碼? (27) |
| (1) | ^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]).*$ |
| (2) | I don't know |
| (3) | .*[A-Z].*[a-z].*[0-9].* |
| (4) | [A-Z][a-z][0-9] |
| (5) | [A-Za-z0-9]+ |
詳解: | 使用正向預查 `(?=...)` 來確保密碼中包含所有要求的字符類型,且不限制順序。 |
(4) | 15哪個正規表示式能驗證字串是否為有效的十六進位顏色碼(例如 #FFF 或 #000000)? (39) |
| (1) | #[0-9A-F]* |
| (2) | I don't know |
| (3) | #([0-9a-fA-F]{3}){1,2} |
| (4) | ^#([0-9a-fA-F]{3}){1,2}$ |
| (5) | #[0-9a-fA-F]{3,6} |
詳解: | 使用 `^` 和 `$` 確保整個字串都是顏色碼,`{1,2}` 配合 `{3}` 表示可匹配 3 個或 6 個十六進位字元。 |
(1) | 16如何使用正規表示式移除字串開頭和結尾的所有空白字元? (32) |
| (1) | ^s+|s+$ |
| (2) | ^s*|s*$ |
| (3) | s*(.*?)s* |
| (4) | I don't know |
| (5) | s+.*s+ |
詳解: | `^s+` 匹配字串開頭的一個或多個空白字元,`s+$` 匹配字串結尾的一個或多個空白字元。 |
(5) | 17哪個正規表示式可以匹配一個有效的日期格式(YYYY-MM-DD)? (25) |
| (1) | d{4}-d{1,2}-d{1,2} |
| (2) | d{4}-d{2}-d{2}.* |
| (3) | I don't know |
| (4) | d{4}-d{2}-d{2} |
| (5) | (19|20)d{2}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]) |
詳解: | 更嚴謹的日期驗證需要考慮月份的天數限制等。 |
(3) | 18哪個正規表示式可以匹配一個有效的 URL(包含協定、網域名稱和路徑)? (21) |
| (1) | w+://w+/w+ |
| (2) | w+.w+.w+ |
| (3) | https?://[w.-]+/S+ |
| (4) | w+://.* |
| (5) | I don't know |
詳解: | 這個選項能更準確地匹配 URL 的結構,包括 `http` 或 `https`,網域名稱,以及路徑部分。`S+` 匹配非空白字元。 |
(3) | 19哪個正規表示式能找出所有長度超過 5 個字元的單字? (37) |
| (1) | bw{6,}b |
| (2) | w{5,} |
| (3) | w{6} |
| (4) | w+ |
| (5) | I don't know |
詳解: | 詞邊界確保匹配的是完整單字,`{6,}` 表示長度至少為 6。 |
(2) | 20如何使用正規表示式從一段文字中提取所有電子郵件地址? (34) |
| (1) | I don't know |
| (2) | [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,} |
| (3) | w+@w+.w+ |
| (4) | S+@S+ |
| (5) | .*@.* |
詳解: | 這個選項更準確地匹配了電子郵件地址的格式,包括本地部分、@ 符號、網域名稱和頂級域名。 |