Vim下使用正規表示法來搜尋文字

Refernece :
1. http://blog.roodo.com/rocksaying/archives/2670695.html
2. http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/RegularExpression.htm
3. http://en.wikipedia.org/wiki/Regular_expression

        會寫這篇這個文章,主要是常常使用Vim再做搜尋特定文字或字串取代的時候,如果搜尋的Pattern沒有給的很精確的時候,常常會找錯地方或是字串取代不對的地方,所以正規表示法就很重要了,而且正規表示法在很多地方都會用到,值的花時間去學習。

目前寫的東西不夠多,以後有學到更多的話再繼續寫。


P.S.  在vim要做搜尋時請記的在記的先按[ESC]再按/


Metacharacter
--------------------------------------------------------------------------------------------
這部份的資訊轉貼至Ref. 2的網站


. 符合任一字元
\d 等於 [0-9] 數字
\D 等於 [^0-9] 非數字
\s 等於 [ \t\n\x0B\f\r] 空白字元
\S 等於 [^ \t\n\x0B\f\r] 非空白字元
\w 等於 [a-zA-Z_0-9] 數字或是英文字
\W 等於 [^a-zA-Z_0-9] 非數字與英文字




[abc]              a、b或c
[^abc]              非a、b、c的其它字元
[a-zA-Z]              a到z或A到Z(範圍)
[a-d[m-p]]      a到d或m到p(聯集)
[a-z&&[def]]      d、e或f(交集)
[a-z&&[^bc]]      a到z,除了b與c之外(減集)
[a-z&&[^m-p]]     a到z且沒有m到p(a-lq-z)(減集)
[a | b]                    a 或 b



X                          代表字元或任何pattern
X?                      X出現一次或完全沒有
X*                      X出現零次或多次
X+                      X出現一次或多次
X{n}             X出現n次
X{n,}             X出現至少n次
X{n,m}             X出現至少n次,但不超過m次



Example
--------------------------------------------------------------------------------------------

1.

0x00006 -> 0x000ac
0x00000 -> 0x00000

Pattern:
/\(0x[0-9abcdef]*\)\ ->\ \(0x[0-9abcdef]*\)


2. 

[    0.330134] AppArmor: AppArmor Filesystem Enabled
[    0.330144] pnp: PnP ACPI init
[    0.330162] ACPI: bus type pnp registered

Pattern:
/\[\s*0.33[0-9]*\]


這個pattern主要抓黃色的部位,然後利用\s來match空白的部份

3.


/devices/platform/i8094/:123

Pattern:
/\(\/\w*\)

留言

熱門文章