相同正則 '^([a-zA-Z0-9]+)@([a-zA-Z0-9]+).([a-zA-Z]{2,5})$' 在 grep 不匹配,awk 匹配成功。
()、{} 需轉義為 \(\)、\{\}--re-interval 參數啟用 awk 的區間表達式支持egrep 或 grep -E 啟用擴展正則'^\([a-zA-Z0-9]\+\)@\([a-zA-Z0-9]\+\)\.\([a-zA-Z]\{2,5\}\)$'grep -E '^([a-zA-Z0-9]+)@([a-zA-Z0-9]+)\.([a-zA-Z]{2,5})$'| 工具 | 正則類型 | 元字符轉義 | 典型用途 |
|---|---|---|---|
| grep | BRE | 需轉義 () {} + ? | | 簡單文本搜索 |
| egrep/grep -E | ERE | 無需轉義 | 複雜模式匹配 |
| awk | ERE | 無需轉義 | 文本處理/列提取 |
| sed | BRE | 需轉義 | 流編輯替換 |
統一使用 grep -E 或 awk 處理複雜正則,避免轉義錯誤。