Provided by: manpages-zh_1.5.2-1_all bug

NAME

       regexp - 針對一個字符串匹配一個正則表達式

總覽 SYNOPSIS
       regexp ?switches? exp string ?matchVar? ?subMatchVar subMatchVar ...?
_________________________________________________________________

描述 DESCRIPTION
       確定正則表達式    exp   是否匹配部分或全部   string,在未指定   -inline
       (參見後面)的時候,如果匹配則返回                            1,否則返回
       0。(正則表達式匹配的描述請參見 re_syntax 參考頁。)

       如果在  string 之後指定了補充的參數,則把它們作為變量的名字對待,把關於
       string 中匹配 exp 的那部分的信息返回到其中。MatchVar 將被設置為匹配全部
       expstring     的范圍。第一個subMatchVar     將包含與    exp
       中最左的圓括號中的子表達式相匹配的     string      中那部分字符,下一個
       subMatchVar   將包含與exp  中從左到右的下一個圓括號中的子表達式相匹配的
       string 中那部分字符,以此類推。

       如果給              regexp               的初始的參數以               -
       為開始,則它們被作為開關來對待。當前支持下列開關:

       -about         不再嘗試匹配正則表達式,返回包含關於正則表達式信息的一個列表。列表的第一個元素是子表達式計數。第二個元素是描述正則表達式各種特性的屬性名的一個列表。這個開關主要用於調試目的。

       -expanded      啟用展開的(expanded)正則表示式語法,將忽略白空格和注釋。這與指定
                      (?x) 嵌入選項相同。(see METASYNTAX, below).

       -indices       改變在    subMatchVar    中存儲的內容。不再存儲   string
                      中匹配的字符串,每個變量將包含兩個十進制字符串組成的一個列表,它們給出匹配的字符范圍中的第一個和最後一個字符在
                      string 中的索引 。

       -line          啟用換行敏感匹配。預設的,換行是沒有特殊意義的一個完全的普通字符。加上了這個標誌,‘[^’
                      方括號表達式和‘.’將永不匹配換行,‘^’除了它的正常功能之外還匹配在任何換行之後的空串,而‘$’除了它的正常功能之外還匹配在任何換行之前的空串。這個標誌等價於指定
                      -linestop-lineanchor 二者,或者 (?n) 嵌入選項。 (see
                      METASYNTAX, below).

       -linestop      改變‘[^’方括號表達式和‘.’的行為,這樣表示式將停止於換行。這與指定
                      (?p) 嵌入選項相同。 (see METASYNTAX, below).

       -lineanchor    改變‘^’和‘$’(「錨」)的行為,這樣它們分別的匹配一行的開始和結束。這與指定
                      (?w) 嵌入選項相同。 (see METASYNTAX, below).

       -nocase        導致在匹配處理中把                                string
                      中的大寫字符與小寫字符同樣對待。                         │

       -all                                                                    │
                      導致盡字符串中可能的次數去匹配正則表達式,返回發現的匹配總數。如果一起指定的還有匹配變量,它們將只保持最後的匹配。│

       -inline                                                                 │
                      導致命令把原先要放置到匹配變量中的數據作為一個列表返回。當使用│
                      -inline         的時候,不可以指定匹配變量。如果還使用了 │
                      -all,在每次重復操作(iteration)時串聯列表,這樣將總是返回一個平坦的列表。對於每次匹配的重復操作,這個命令將添加整體的匹配數據,為正則表達式中的每個子表達式加上一個元素。例如:│
                          regexp -inline -- {\w(\w)} " inlined "               │
                       => {in n}                                               │
                          regexp -all -inline -- {\w(\w)} " inlined "          │
                       => {in n li i ne e}                                     │

       -start index                                                            │
                      在字符串中指定一個字符索引,在這個偏移量上開始匹配。當使用了這個開關的時候,‘^’將不匹配行的開始,而│
                      0index                    上匹配字符串的開始。如果指定了 │
                      -indices,編制索引將以輸入字符串的絕對開始為起始。index  │
                      將被約束為輸入字符串的束縛。

       --             標記開關的結束。這個標誌之後的參數即使以               -
                      為開始仍被作為 exp 對待。

       如果    subMatchVarexp   中的圓括號中的子表達式多,或者在   exp
       中的一個特定子表達式不匹配字符串。(比如,因為它是不被匹配的子表達式的一部分),
       則在指定了      -indices     的時候,相應subMatchVar     將被設置成``-1
       -1'',其他時候被設置成空串。

參見 SEE ALSO
       re_syntax(n), regsub(n)

關鍵字 KEYWORDS
       match, regular expression, string

[中文版維護人]
       寒蟬退士

[中文版最新更新]
       2001/10/27

《中國 Linux 論壇 man 手冊頁翻譯計劃》:
       http://cmpp.linuxforum.net