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

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

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

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

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