總覽 SYNOPSIS
regsub ?switches? exp string subSpec
varName
描述 DESCRIPTION
這個命令針對 string
匹配正則表示式
exp,並且它把 string
複製到用 varName
給出名字的變數中。(正則表示式匹配的描述請參見
re_syntax
參考頁。)如果有一個匹配,則在複製
string 到 varName 期間,string
中匹配 exp
的那部分將被替代為
subSpec。如果 subSpec
包含一個``&''或``\0'',則在這個替換中它被替代為
string 中匹配 exp
的那部分。如果 subSpec
包含一個``\n'',這裡的
n 是在 1 和 9
之間的一個數字,則在這個替換中它將被替代為
string 中匹配第 n
個圓括號中的子表示式
exp 的那部分。 在 subSpec
中可以使用額外的反斜槓來防對``&''、``\0''、``\n''或反斜槓的特殊解釋。在
subSpec
中使用的反斜槓可能與
Tcl
分析器使用的反斜槓有所衝突。所以,如果
subSpec
中包含反斜槓,最安全的方式通常是把
subSpec
包圍在花括號中。
如果給 regexp
的初始的引數以 -
為開始,則它們被作為開關來對待。當前支援下列開關:
- -all
- 找到 string 中匹配 exp
的所有範圍,並對每個範圍進行替換。沒有這個選項,則只有第一個匹配的範圍被找到並替換。如果指定了
-all,則對於每次替換使用相應的匹配資訊來處理``&''和``\n''序列。
- -expanded
- 啟用展開的(expanded)正則表示式語法,將忽略白空格和註釋。這與指定
(?x) 嵌入選項相同。 (see
METASYNTAX, below).
- -line
- 啟用換行敏感匹配。預設的,換行是沒有特殊意義的一個完全的普通字元。加上了這個標誌,‘[^’
方括號表示式和‘.’將永不匹配換行,‘^’除了它的正常功能之外還匹配在任何換行之後的空串,而‘$’除了它的正常功能之外還匹配在任何換行之前的空串。這個標誌等價於指定
-linestop 和 -lineanchor
二者,或者 (?n)
嵌入選項。 (see METASYNTAX, below).
- -linestop
- 改變‘[^’方括號表示式和‘.’的行為,這樣表示式將停止於換行。這與指定
(?p) 嵌入選項相同。(see
METASYNTAX, below).
- -lineanchor
- 改變‘^’和‘$’(“錨”)的行為,這樣它們分別的匹配一行的開始和結束。這與指定
(?w) 嵌入選項相同。 (see
METASYNTAX, below).
- -nocase
- Upper-case characters in string will be converted to lower-case
before matching against exp; however, substitutions specified by
subSpec use the original unconverted form of string.
- -start
index
- 在字串中指定一個字元索引,在這個偏移量上開始匹配。當使用了這個開關的時候,‘^’將不匹配行的開始,而
\A 將仍舊在 index
上匹配字串的開始。index
將被約束為輸入字串的束縛。
- --
- 標記開關的結束。這個標誌之後的引數即使以
- 為開始仍被作為
exp 對待。
這個命令返回找到並替換的匹配範圍的總數。正則表示式的解釋詳見
regexp 的手冊條目。
參見 SEE ALSO
regexp(n), re_syntax(n)
關鍵字 KEYWORDS
match, pattern, regular expression, substitute
《中國 Linux 論壇 man
手冊頁翻譯計劃》:
http://cmpp.linuxforum.net
跋
本頁面中文版由中文
man 手冊頁計劃提供。
中文 man
手冊頁計劃:https://github.com/man-pages-zh/manpages-zh