前言
正則表達式是文本處理領域中的一個強大的工具,它可以讓文本處理的能力呈指數級的提升,如果一款文本編輯器不支持正則表達式,那么它就算不上是一個現代化的編輯器,這絕非虛言。
下面這篇文章主要跟大家介紹了關于Vim查找替換及正則表達式使用的相關內容,分享出來供大家參考學習,下面來一起看看吧。
簡單替換表達式
:[range]s/from/to/[flags]
range:搜索范圍,如果沒有指定范圍,則作用于但前行。
flags 有如下四個選項:
這些選項可以合并使用,如cgi表示不區分大小寫,整行替換,替換前詢問。
正則表達式
1、元字符
元字符
| 元字符 | 說明 |
|---|---|
| . | 匹配任意字符 |
| [abc] | 匹配方括號中的任意一個字符,可用-表示字符范圍。如[a-z0-9]匹配小寫字母和數字 |
| [^abc] | 匹配除方括號中字符之外的任意字符 |
| /d | 匹配阿拉伯數字,等同于[0-9] |
| /D | 匹配阿拉伯數字之外的任意字符,等同于[^0-9] |
| /x | 匹配十六進制數字,等同于[0-9A-Fa-f] |
| /X | 匹配十六進制數字之外的任意字符,等同于[^0-9A-Fa-f] |
| /l | 匹配[a-z] |
| /L | 匹配[^a-z] |
| /u | 匹配[A-Z] |
| /U | 匹配[^A-Z] |
| /w | 匹配單詞字母,等同于[0-9A-Za-z_] |
| /W | 匹配單詞字母之外的任意字符,等同于[^0-9A-Za-z_] |
| /t | 匹配<TAB>字符 |
| /s | 匹配空白字符,等同于[/t] |
| /S | 匹配非空白字符,等同于[^/t] |
一些普通字符需轉意
| 元字符 | 說明 |
|---|---|
| /* | 匹配* 字符 |
| . | 匹配. 字符 |
| // | 匹配 / 字符 |
| / | 匹配 / 字符 |
| /[ | 匹配 [ 字符 |
| /] | 匹配 ] 字符 |
表示數量的元字符
| 元字符 | 說明 |
|---|---|
| * | 匹配0-任意個 |
| /+ | 匹配1-任意個 |
| /? | 匹配0-1個 |
| /{n,m} | 匹配n-m個 |
| /{n} | 匹配n個 |
| /{n,} | 匹配n-任意個 |
| /{,m} | 匹配0-m個 |
表示位置的元字符
| 元字符 | 說明 |
|---|---|
| $ | 匹配行尾 |
| ^ | 匹配行首 |
| /< | 匹配單詞詞首 |
| /> | 匹配單詞詞尾 |
2、替換變量
在正則式中以/(和/)括起來的正則表達式,在后面使用的時候可以用/1、/2等變量來訪問/(和/)中的內容。
例子
:%s/abc/(.*/)xyz/xyz/1abc/g:%s//(abc/)/(.*/)/(xyz/)//3/2/1/g
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。
新聞熱點
疑難解答
圖片精選