原問題
正則 `^H(a-z){1,3}o\s sir$` 匹配失敗,返回 FALSE。
錯誤分析
- 小括號 `()` 是分組,非字符集。匹配字母範圍應用中括號 `[]`:`[a-z]`。
- 量詞 `{1,3}` 應緊跟字符集**`[a-z]{1,3}`**,而非分組。
- `\s` 轉義需雙反斜杠** 在字符串中:`\\s` 表示空白字符。
修正正則
^H[a-z]{1,3}o\\ssir$
匹配示例
- `Hao sir` ✓
- `Habc o sir` ✓ (中間有空格)
- `Haoo sir` ✗ (超過 3 字母)