Provided by: manpages-zh_1.5.1-2_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                                                            |      |
                      在字符串中指定一个字符索引,在这个偏移量上开始匹配。当使用了这个开关的时候,‘^’将不匹配行的开始,而|
                      1index                    上匹配字符串的开始。如果指定了 |
                      -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