最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2017年07月05日 14:58:54   作者:Cooper  
Vim中的正則表達(dá)式功能很強(qiáng)大,如果能自由運(yùn)用,則可以完成很多難以想象的操作。下面這篇文章主要給大家介紹了關(guān)于Vim中查找替換及正則表達(dá)式使用的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。

前言

正則表達(dá)式是文本處理領(lǐng)域中的一個(gè)強(qiáng)大的工具,它可以讓文本處理的能力呈指數(shù)級(jí)的提升,如果一款文本編輯器不支持正則表達(dá)式,那么它就算不上是一個(gè)現(xiàn)代化的編輯器,這絕非虛言。

下面這篇文章主要跟大家介紹了關(guān)于Vim查找替換及正則表達(dá)式使用的相關(guān)內(nèi)容,分享出來(lái)供大家參考學(xué)習(xí),下面來(lái)一起看看吧。

簡(jiǎn)單替換表達(dá)式

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

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

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

flags 有如下四個(gè)選項(xiàng):

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

這些選項(xiàng)可以合并使用,如cgi表示不區(qū)分大小寫,整行替換,替換前詢問(wèn)。

正則表達(dá)式

1、元字符

元字符

元字符 說(shuō)明
. 匹配任意字符
[abc] 匹配方括號(hào)中的任意一個(gè)字符,可用-表示字符范圍。如[a-z0-9]匹配小寫字母和數(shù)字
[^abc] 匹配除方括號(hào)中字符之外的任意字符
\d 匹配阿拉伯?dāng)?shù)字,等同于[0-9]
\D 匹配阿拉伯?dāng)?shù)字之外的任意字符,等同于[^0-9]
\x 匹配十六進(jìn)制數(shù)字,等同于[0-9A-Fa-f]
\X 匹配十六進(jìn)制數(shù)字之外的任意字符,等同于[^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]

一些普通字符需轉(zhuǎn)意

元字符 說(shuō)明
\* 匹配* 字符
. 匹配. 字符
\/ 匹配 / 字符
\ 匹配 \ 字符
\[ 匹配 [ 字符
\] 匹配 ] 字符

表示數(shù)量的元字符

元字符 說(shuō)明
* 匹配0-任意個(gè)
\+ 匹配1-任意個(gè)
\? 匹配0-1個(gè)
\{n,m} 匹配n-m個(gè)
\{n} 匹配n個(gè)
\{n,} 匹配n-任意個(gè)
\{,m} 匹配0-m個(gè)

表示位置的元字符

元字符 說(shuō)明
$ 匹配行尾
^ 匹配行首
\< 匹配單詞詞首
\> 匹配單詞詞尾

2、替換變量

在正則式中以\(和\)括起來(lái)的正則表達(dá)式,在后面使用的時(shí)候可以用\1、\2等變量來(lái)訪問(wèn)\(和\)中的內(nèi)容。

例子

  • 刪除行尾空格::%s/\s+$//g
  • 刪除行首多余空格:%s/^\s*// 或者 %s/^ *//
  • 刪除沒(méi)有內(nèi)容的空行:%s/^$// 或者 g/^$/d
  • 刪除包含有空格組成的空行:%s/^\s*$// 或者 g/^\s*$/d
  • 刪除以空格或TAB開頭到結(jié)尾的空行:%s/^[ |\t]*$// 或者 g/^[ |\t]*$/d
  • 把文中的所有字符串“abc……xyz”替換為“xyz……abc”可以有下列寫法
:%s/abc\(.*\)xyz/xyz\1abc/g
:%s/\(abc\)\(.*\)\(xyz\)/\3\2\1/g

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

最新評(píng)論

佛山市| 阳山县| 德化县| 富川| 东阳市| 疏附县| 乌兰察布市| 晋宁县| 新巴尔虎右旗| 泉州市| 湘阴县| 昌乐县| 扎鲁特旗| 六安市| 靖宇县| 玉田县| 洛川县| 临颍县| 定陶县| 科技| 凤山市| 新邵县| 土默特右旗| 图们市| 海安县| 大英县| 上虞市| 嵩明县| 汽车| 沂水县| 云南省| 乐清市| 城步| 瑞安市| 井研县| 托克逊县| 桃源县| 富源县| 车致| 武宁县| 石首市|