<   GoogleAI產生的正規表示法題庫80題   >

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

( )1. 匹配重複出現的單詞 (例如: the the)(1)\b(\w+)\1\b (2)\b\w+\s+\w+\b (3)\b(\w+)\s+\1\b (4)\b(\w+)\s+(\w+)\b
( )2. 使用環顧斷言匹配 "foo" 但只在它後面沒有 "bar" 時才匹配(1)foobar (2)foo(?!bar) (3)foo(?=bar) (4)foo(bar)
( )3. 使用環顧斷言匹配 "foo" 但只在它前面有 "bar" 時才匹配(1)(?<=bar)foo (2)(?=bar)foo (3)(bar)foo (4)barfoo
( )4. 匹配一個有效的日期格式 (YYYY-MM-DD)(1)^\d{4}-\d{2}-\d{2}-\d{2}$ (2)^\d{4}/\d{2}/\d{2}$ (3)^\d{4}-\d{1,2}-\d{1,2}$ (4)^\d{4}-\d{2}-\d{2}$
( )5. 匹配所有以 "ing" 結尾的單詞(1)ing\b (2)ing (3)\b\w+ing\b (4)\w+ing
( )6. 驗證字串是否為有效的IP地址(1)^(\d{1,3}\.){3}\d{1,3}$ (2)^([0-9]{1,3}\.){3}[0-9]{1,3}$ (3)^((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)^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$
( )7. 匹配一個HTML標籤(1)<.+> (2)<[^>]+> (3)<.*> (4)<.*?>
( )8. 將字串中的所有空格替換為下劃線(1)\s (2)_ (3)\S (4)^\s
( )9. 提取HTML標籤內的內容(1)>([^*]+)< (2)>([^<]+)< (3)>.*< (4)>(.*)<
( )10. 匹配一個包含 "error" (不區分大小寫) 的字串(1)error (2)Error (3)(?i)error (4)(?i)eror

解答:
001.【3】002.【2】003.【1】004.【4】005.【3】006.【3】007.【2】008.【1】009.【2】010.【3】

詳解:
1.選項1 "\b(\w+)\s+\1\b" 匹配重複出現的單詞。 "\1" 是一個反向引用,引用第一個捕獲組。 "\b" 代表單詞邊界。
2.選項1 "foo(?!bar)" 使用反向先行斷言。 "(?!bar)" 確保 "foo" 後面不是 "bar",但不包含在匹配結果中。
3.選項1 "(?<=bar)foo" 使用正向後行斷言。 "(?<=bar)" 確保 "foo" 前面是 "bar",但不包含在匹配結果中。
4.選項3 "^\d{4}-\d{2}-\d{2}$" 匹配 YYYY-MM-DD 格式的日期。"^"與"$"保證字串格式
5.選項1 "\b\w+ing\b" 匹配以 "ing" 結尾的單詞。 "\b" 代表單詞邊界, "\w+" 匹配一個或多個單詞字元。
6.選項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之間。
7.選項2 "<[^>]+>" 匹配一個 HTML 標籤。 "[^>]" 匹配除了 ">" 之外的任何字元, "+" 確保標籤內至少有一個字元。
8.選項1 "\s" 匹配任何空白字元(空格、製表符、換行符等)。
9.選項1 ">([^<]+)<" 匹配 HTML 標籤內的內容。 "(...)" 創建一個捕獲組,用於提取內容。 "[^<]" 確保標籤內不含小於符號
10.選項4 "(?i)error" 使用 "(?i)" 標誌使匹配不區分大小寫。