<   GoogleAI出的正規表示法題庫    >

免費免註冊,彰化一整天線上測驗:http://exam.bestdaylong.com/test8613.htm

( )1. 如何使用正規表示式移除字串開頭和結尾的所有空白字元?(1)\s*(.*?)\s* (2)\s+.*\s+ (3)^\s+|\s+$ (4)^\s*|\s*$
( )2. 如何使用正規表示式從字串中刪除所有重複的字母?(例如 "aabbcc" 變成 "abc")(1)(.).*?\1 (2)(.)* (3)(.)\1+ (4)(.).+
( )3. 哪個正規表示式能驗證字串是否為有效的十六進位顏色碼(例如 #FFF 或 #000000)?(1)^#([0-9a-fA-F]{3}){1,2}$ (2)#[0-9a-fA-F]{3,6} (3)#[0-9A-F]* (4)#([0-9a-fA-F]{3}){1,2}
( )4. 哪個正規表示式可以匹配一個有效的 URL(包含協定、網域名稱和路徑)?(1)https?://[\w.-]+/\S+ (2)\w+://.* (3)\w+://\w+/\w+ (4)\w+.\w+.\w+
( )5. 哪個正規表示式可以匹配一個有效的電話號碼格式(例如 123-456-7890 或 (123) 456-7890)?(1)\d{10} (2)(\(\d{3}\) |\d{3}-)\d{3}-\d{4} (3)\d{3}-\d{3}-\d{4} (4)(\d{3}) \d{3}-\d{4}
( )6. 哪個正規表示式可以匹配一個有效的日期格式(YYYY-MM-DD)?(1)(19|20)\d{2}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]) (2)\d{4}-\d{1,2}-\d{1,2} (3)\d{4}-\d{2}-\d{2}.* (4)\d{4}-\d{2}-\d{2}
( )7. 如何使用正規表示式移除字串中所有 HTML 注釋(``)?(1)<!--.*--> (2)<!----> (3)<!\--.*--> (4)<!--.*?-->
( )8. 哪個正規表示式可以匹配一個浮點數(包含整數部分和小數部分)?(1)\d+ (2)\d*.\d* (3)\d+.\d+ (4)-?\d+.\d+
( )9. 如何使用正規表示式在一段文字中,找出所有以特定單字(例如 "error")開頭的句子?(1)^[Ee]rror.* (2)[Ee]rror.*[.?!] (3)\b[Ee]rror.*[.?!] (4)[Ee]rror[^.?!]*[.?!]
( )10. 如何使用正規表示式把所有 HTML 標籤轉換為大寫?(1)<.*?> (2)<[^>]*?> (3)<(/?\w+)> (4)<\w+>
( )11. 如何使用正規表示式提取字串中所有數字?(1)\d+ (2)\w (3)[0-9] (4)\D
( )12. 哪個正規表示式可以匹配一個簡單的 IP 地址(不驗證數值範圍)?(1)[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3} (2)(\d{1,3}.){3}\d{1,3} (3)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} (4)\d+.\d+.\d+.\d+
( )13. 哪個正規表示式能匹配所有以 ".jpg" 或 ".png" 結尾的檔案名稱?(1)\.(jpg|png) (2)\.(jpg|png)$ (3).*\.jpg|.*\.png (4).*\.jpg|png
( )14. 如何使用正規表示式將所有單引號替換為雙引號?(1)(.*)'(.*) (2)' (3)" (4)([^']*)'
( )15. 哪個正規表示式可以匹配包含至少一個大寫字母、一個小寫字母和一個數字的密碼?(1)^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]).*$ (2).*[A-Z].*[a-z].*[0-9].* (3)[A-Z][a-z][0-9] (4)[A-Za-z0-9]+
( )16. 如何用正規表示式檢查一個字串是否只包含字母和數字?(1)[a-zA-Z]+ (2)^[a-zA-Z0-9]+$ (3)^[a-zA-Z]+$ (4)[a-zA-Z0-9_]+
( )17. 如何使用正規表示式從一段文字中提取所有電子郵件地址?(1).*@.* (2)[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,} (3)\w+@\w+.\w+ (4)\S+@\S+
( )18. 哪個正規表示式能找出所有長度超過 5 個字元的單字?(1)\\w{5,} (2)\\w{6} (3)\\w+ (4)\\b\\w{6,}\\b
( )19. 如何使用正規表示式提取所有 HTML 標籤的名字?(1)<[^>]*> (2)<([a-zA-Z]+).*?> (3)<(\w+)> (4)<.*>
( )20. 哪個正規表示式可以匹配一個信用卡號碼(只匹配格式,不驗證 Luhn 算法)?(1)\d{4}-\d{4}-\d{4}-\d{4} (2)\d{4}[ -]?\d{4}[ -]?\d{4}[ -]?\d{4} (3)[0-9]{16} (4)\d{15,16}

解答:
001.【3】002.【3】003.【1】004.【1】005.【2】006.【1】007.【4】008.【4】009.【4】010.【3】
011.【1】012.【3】013.【2】014.【3】015.【1】016.【2】017.【2】018.【4】019.【2】020.【2】

詳解:
1.`^\s+` 匹配字串開頭的一個或多個空白字元,`\s+$` 匹配字串結尾的一個或多個空白字元。
2.`(.)\1+` 匹配重複的字母,然後可以使用替換功能將它們替換為單個字母。
3.使用 `^` 和 `$` 確保整個字串都是顏色碼,`{1,2}` 配合 `{3}` 表示可匹配 3 個或 6 個十六進位字元。
4.這個選項能更準確地匹配 URL 的結構,包括 `http` 或 `https`,網域名稱,以及路徑部分。`\S+` 匹配非空白字元。
5.這個選項可以匹配多種常見的電話號碼格式,包括帶括號的區號和不帶括號的區號。
6.更嚴謹的日期驗證需要考慮月份的天數限制等。
7.`` 使用了非貪婪匹配 `*?`,避免跨越多個注釋區塊。
8.這個選項匹配帶正負號的浮點數
9.這個選項找出 "error"(不論大小寫)開頭的句子,直到遇到句尾符號(`.`、`?` 或 `!`)。
10.這個選項使用捕獲群組把標籤名稱抓出來,再替換為大寫。
11.`\d+` 匹配一個或多個數字。要取得所有數字需搭配全域搜尋。
12.這個選項匹配四組由點分隔的 1 到 3 位數字。
13.`\.` 匹配 "." 字符。 `(jpg|png)` 匹配 "jpg" 或 "png"。 `$` 匹配字串的結尾。
14.直接替換單引號為雙引號即可
15.使用正向預查 `(?=...)` 來確保密碼中包含所有要求的字符類型,且不限制順序。
16.`^` 和 `$` 分別表示字串的開始和結束。 `[a-zA-Z0-9]` 匹配字母和數字。 `+` 匹配一個或多個。
17.這個選項更準確地匹配了電子郵件地址的格式,包括本地部分、@ 符號、網域名稱和頂級域名。
18.詞邊界確保匹配的是完整單字,`{6,}` 表示長度至少為 6。
19.`<([a-zA-Z]+).*?>` 匹配 HTML 標籤,並使用捕獲組提取標籤名稱。
20.這個選項可以匹配帶有空格或連字符分隔符的信用卡號碼格式。