国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

Vim中查找替換及正則表達式的使用詳解

2024-09-01 13:52:19
字體:
來源:轉載
供稿:網友

前言

正則表達式是文本處理領域中的一個強大的工具,它可以讓文本處理的能力呈指數級的提升,如果一款文本編輯器不支持正則表達式,那么它就算不上是一個現代化的編輯器,這絕非虛言。

下面這篇文章主要跟大家介紹了關于Vim查找替換及正則表達式使用的相關內容,分享出來供大家參考學習,下面來一起看看吧。

簡單替換表達式

:[range]s/from/to/[flags]

range:搜索范圍,如果沒有指定范圍,則作用于但前行。

  • :1,10s/from/to/ 表示在第1到第10行(包含第1,第10行)之間搜索替換;
  • :10s/from/to/ 表示只在第10行搜索替換;
  • :%s/from/to/ 表示在所有行中搜索替換;
  • 1,$s/from/to/ 同上。

flags 有如下四個選項:

  • c confirm,每次替換前詢問;
  • e error, 不顯示錯誤;
  • g globle,不詢問,整行替換。如果不加g選項,則只替換每行的第一個匹配到的字符串;
  • i ignore,忽略大小寫。

這些選項可以合并使用,如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//s+$//g
  • 刪除行首多余空格:%s/^/s*// 或者 %s/^ *//
  • 刪除沒有內容的空行:%s/^$// 或者 g/^$/d
  • 刪除包含有空格組成的空行:%s/^/s*$// 或者 g/^/s*$/d
  • 刪除以空格或TAB開頭到結尾的空行:%s/^[ |/t]*$// 或者 g/^[ |/t]*$/d
  • 把文中的所有字符串“abc……xyz”替換為“xyz……abc”可以有下列寫法
:%s/abc/(.*/)xyz/xyz/1abc/g:%s//(abc/)/(.*/)/(xyz/)//3/2/1/g

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南昌市| 阳原县| 滦南县| 印江| 湘乡市| 亳州市| 合水县| 隆德县| 永新县| 报价| 玉门市| 临汾市| 惠州市| 德昌县| 嵩明县| 茂名市| 横山县| 阜平县| 和平县| 襄城县| 岗巴县| 福州市| 奎屯市| 孙吴县| 堆龙德庆县| 资溪县| 兴海县| 麻阳| 玛沁县| 广汉市| 靖远县| 海伦市| 奉新县| 邮箱| 沙雅县| 湖北省| 左贡县| 平凉市| 咸宁市| 泸定县| 襄樊市|