background image

3.1 字符
1、普通字符:
由所有那些未显式指定为元字符的打印和非打印字符组成。这包括所有的大写和小写字母
字符,所有数字,所有标点符号以及一些符号。
2、非打印字符:

 

字符 含义
\cx 匹配由 x

 

指明的控制字符。例如, \cM 

 

匹配一个 Control-M 或回车符。x 的值必须为 

A-Z   

或 a-z 

 

之一。否则,将 c 

 

视为一个原义的 'c' 字符。

\f 

 

匹配一个换页符。等价于 \x0c   

和 \cL。

\n 

 

匹配一个换行符。等价于 \x0a   

和 \cJ。

\r 

 

匹配一个回车符。等价于 \x0d   

和 \cM。

\s 

 

匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。

\S 

 

匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。

\t 

 

匹配一个制表符。等价于 \x09   

和 \cI。

\v 

 

匹配一个垂直制表符。等价于 \x0b   

和 \cK。

3、元字符(特殊字符):

 

   所谓元字符(特殊字符),就是一些有特殊含义的字符,如上面说的 "*.txt"中的*,
简单的说就是表示任何字符串的意思。如果要查找文件名中有*的文件,则需要对*进行
转义,即在其前加一个\。ls \*.txt。正则表达式有以下特殊字符。

 

要在正则表达式模式中包含元字符以使其不具有特殊含义,您必须使用反斜杠 (\) 转义

 

字符。例如,下面的正则表达式与顺序依次为字母 A

 

、字母 B

 

、星号和字母 C 的模式匹配:

/AB\*C/;

 

元字符 说明

 

匹配输入字符串的结尾位置。如果设置了 RegExp 

 

对象的 Multiline 

 

属性,则 $ 也匹

 

配 '\n'   

或 '\r'

 

。要匹配 $ 

 

字符本身,请使用 \$。

( ) 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,

 

请使用 \(   

和 \)。

 

匹配前面的子表达式零次或多次。要匹配 * 

 

字符,请使用 \*。

 

匹配前面的子表达式一次或多次。要匹配 + 

 

字符,请使用 \+。

 

匹配除换行符 \n

 

之外的任何单字符。要匹配 .

 

,请使用 \。

 

标记一个中括号表达式的开始。要匹配 [

 

,请使用 \[。

 

匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 

 

字符,请使用 \?。

 

将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, 'n' 

 

匹配字符 'n'。'\n' 

 

匹配换行符。序列 '\\' 

 

匹配 "\"

 

,而 '\(' 

 

则匹配 "("。

^ 匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符

 

集合。要匹配 ^ 

 

字符本身,请使用 \^。

 

标记限定符表达式的开始。要匹配 {

 

,请使用 \{。

 

指明两项之间的一个选择。要匹配 |

 

,请使用 \|。

  构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与操作符
将小的表达式结合在一起来创建更大的表达式。正则表达式的组件可以是单个的字符、字
符集合、字符范围、字符间的选择或者所有这些组件的任意组合。