国产探花免费观看_亚洲丰满少妇自慰呻吟_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武林網的支持。

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桐庐县| 揭阳市| 邛崃市| 阜新市| 长兴县| 永宁县| 孝感市| 望谟县| 枣庄市| 邵阳县| 德昌县| 拜城县| 新和县| 宾阳县| 新余市| 铁岭市| 巫山县| 偏关县| 西和县| 宜章县| 西城区| 万盛区| 宁德市| 张家港市| 沈阳市| 独山县| 盈江县| 隆化县| 民权县| 綦江县| 阳谷县| 佛山市| 大埔县| 襄城县| 光泽县| 乐昌市| 清新县| 陕西省| 石嘴山市| 清原| 清原|