Regular Express 正規表示式,含 vim 用法
特殊符號
需在符號前加上 \
/ ^ . * & \ "
windows 換行符號
\r 或 \r\n
符號 | 等同於 | 意義 |
\w | ||
\W | ||
\d | ||
\D | ||
\s | ||
\S |
[] 集合字完
包含 [] 內的集合字元。
- example:aaa、aba、aca、ada、abc,要將 abc 以外的字串全選出。
- answer:
a[abcd]a
選取連續字元時用 - 分隔。
- example:aaa、aba、aca、ada、abc,要將 abc 以外的字串全選出。
- andwer:aaa、aba、aca、ada
a[a-c]a
選取連續數字。
- example:a1ab、a9ab、a5ab、a0ab、aaab,要將數字後接 ab 的字串全選出。
- andwer:1ab、a9ab、a5ab、a0ab
[0-9]ab
^ 反向選擇、前置字元
不要包含 ^ 後的字元。
- example:aaa、baa、caa、daa,不要選 a 或 b 後面接 aa 的字串。
- andwer:caa、daa
[^ab]aa
以 ^ 後的字元為開頭。
- example:aaa、baa、caa、daa,不要選開頭是 a 跟 b 的字串。
- andwer:
[^ab]aa
. 任意字元
- example:要選取下列中兩個 / 內所包含的字元。
12345/asdf#$%#$%#@$%&*)&(^*sadf/123312SDF
- answer:
\/.*\/
\+ \=
- example:選取將多個空白字元。
abc空白空白空白de
- answer
\s\+
vim
變數處理
將符合規則的字串做為變數使用:
- example:要將 abc.jpg 改為 abc.txt。
- answer:將第二個 \( 與 \) 內所包含的字元做為 \1 的變數,第二個 \( 與 \) 內所包含的字元做為 \2 的變數。
:1,$s/\(abc.\)jpg/\1txt/g
記錄 macro recoard and play
- 參考:http://www.thegeekstuff.com/2009/01/vi-and-vim-macro-tutorial-how-to-record-and-play/
- 步驟:
- 開始記錄 macro a。
[ESC] → q → a 按 [ESC] 再按 q 再按 a
- 開始執行你要重複的步驟。
i123[ESC] yyp
- 結束記錄 macro a。
[ESC] → q 按 [ESC] 再按 q
- 重複 a 這個 macro 5 次。
5@a
- 開始記錄 macro a。
新增字串、文字、字元至行首、行尾
- 新增至行首
%s/^/你想要新增的字串/g
- 新增至行尾
%s/$/你想要新增的字串/g
在第一行產生連續數字
:r !seq -w 1 100
Reference
- http://linux.vbird.org/linux_basic/0330regularex.php
- http://three-colors.blogspot.tw/2008/06/vim-regular-expression.html
- http://lab.hsdn.net/blog/2009/09/%E5%B8%B8%E7%94%A8%E7%9A%84%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%A4%BA%E5%BC%8Fregular-expression/ 常用正規表示式
- http://lab.hsdn.net/blog/2009/09/%E5%B8%B8%E7%94%A8%E7%9A%84%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%A4%BA%E5%BC%8Fregular-expression/
- http://atedev.wordpress.com/2007/11/23/%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%A4%BA%E5%BC%8F-regular-expression/
Last modified 11 years ago
Last modified on Apr 9, 2014, 11:45:37 PM