Vim
vim 搜尋包含特定位數的數字
我需要在大文件中找到特定的長度數字。我試圖為此使用正則表達式。例如,如果我需要搜尋正好有 2 位數字的數字,我會使用
\d\d
(即 /d 兩次後跟一個空格)。這很好用。
\d
但是要找到 10 位數字,輸入10 次是不可行的。試過了
\d{2}
,說“ E486:找不到模式:\d{2} ”有沒有更快/更簡單的方法來實現這一目標?
有不同的正則表達式方言;有些(例如 Perl 的)在量化修飾符( )中不需要反斜杠
\d{2}
,有些 (例如 sed) 需要兩個 (\d\{2\}
),而在 Vim 中,只有開頭的捲曲需要它 (\d\{2}
)。這就是不兼容的正則表達式方言的可悲狀態。另請注意,要匹配確切的數字,您必須錨定匹配,以便
\d\{2}
與 中的數字 (12
)不匹配123
。這可以通過消極的後視和前瞻來完成:\d\@<!\d\{2}\d\@!
嘗試以下操作:
\d\{2}
\
你不應該使用/
您可以在此站點或
vim
with中找到更多關於 vim 的正常表達的資訊:help regular
。