[[PageOutline]] = Regular Express 正規表示式,含 vim 用法 = == 特殊符號 == 需在符號前加上 \ {{{ /?^ }}} windows 換行符號 {{{ \r 或 \r\n }}} == [] 集合字完 == 包含 [] 內的集合字元。 * 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 }}} * andwer: {{{ \/.*\/ }}} }}} == 變數處理 == 將符合規則的字串做為變數使用: * example:要將 abc.jpg 改為 abc.txt。 * answer:將第二個 \( 與 \) 內所包含的字元做為 \1 的變數,第二個 \( 與 \) 內所包含的字元做為 \2 的變數。 {{{ :1,$s/\(abc.\)jpg/\1txt/g }}}