
配合 grep 命令示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| . 任意單一字元(除了換行): grep 'a.c' file.txt 匹配 abc, a1c, a#c
^ 行首錨點: grep '^Error' log.txt 匹配以 "Error" 開頭的行
$ 行尾錨點: grep 'success$' log.txt 匹配以 "success" 結尾的行
* 重複 0 次以上: grep -E 'file_.*\.txt' *.txt 匹配 file_ 開頭,中間任意字元,再以 .txt 結尾的檔名
+ 重複 1 次以上(需 -E Flag): grep -E 'ab+c' file.txt 匹配 abc, abbc 等,但不匹配 ac
? 重複 0 次或 1 次(需 -E): grep -E 'colou?r' 匹配 color 或 colour
{n} 恰好重複 n 次(需 -E): grep -E '(linux){3}' file.txt 匹配重複三次 linux 的字串
{n,} 至少重複 n 次: grep -E 'x{3,}' file.txt 匹配三次或更多 x
{n,m} 重複介於 n 到 m 次: grep -E 'x{2,4}' file.txt 匹配 2~4 個 x
[] 字元類別,任一包含的字元: grep -E 'x{2,4}' file.txt 匹配 2~4 個 x
[^] 排除字元類別: grep -E '[^0-9]' file.txt 匹配非數字字元
() 群組與擷取(需 -E 或 -P): grep -Po '(pattern)' file.txt 使用捕獲群組並回傳匹配內容
* \b 單字邊界(需 -P): grep -Po '\bword\b' file.txt 匹配完整的 word 單字
|
https://regexr.com/
Welcome to my other publishing channels