Lunski's Clutter

This is a place to put my clutters, no matter you like it or not, welcome here.

0%

正則表達式

配合 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