在正規表達式中使用 \( 和 \) 符號括起正規表達式,即可在后面使用\1、\2 等變量來訪問 \( 和 \) 中的內容。
例如有下列英漢對照文本:
adapter 適配器
address 地址
algebraic data type 代數數據類型
想要把英語單詞和漢字中間的空格換成制表符\t,可以使用如下正則表達式:
%s/\([a-zA-Z]\) \([^a-zA-Z]\)/\1\t\2/
其中,第一個 \( 和 \) 中的內容是一個英語字符,表示為\1,即第一個替換變量,第二個 \( 和 \) 中的內容不是英語字符(根據實際情況,這里簡單的用這種方式來確定漢字),表示為\2,即第2個替換變量。表達式\([a-zA-Z]\) \([^a-zA-Z]\)中間包括一個空格。替換字符串為\1\t\2,表示保留空格前后的字符,並把空格替換為制表符。表達式最后沒有g,表示只處理每行的第一次匹配結果。