中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-10-05 18:14:34 來源:腳本之家 閱讀:183 作者:Cooper 欄目:服務器

前言

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

下面這篇文章主要跟大家介紹了關于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

總結

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

向AI問一下細節
推薦閱讀:
  1. vim 使用
  2. vim的使用

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

松阳县| 敦化市| 临夏市| 五常市| 清河县| 玉田县| 山阳县| 略阳县| 周宁县| 金昌市| 东山县| 东乌| 乐安县| 宁蒗| 封丘县| 昭通市| 南开区| 淮安市| 当阳市| 乌鲁木齐市| 阿巴嘎旗| 崇义县| 望谟县| 盐池县| 中阳县| 兰西县| 和龙市| 正蓝旗| 泾源县| 石渠县| 金堂县| 清远市| 宜兴市| 温泉县| 黑水县| 延寿县| 新营市| 邹平县| 孟村| 余江县| 花莲市|