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'
匹配换行符。序列 '\\'
匹配 "\"
,而 '\('
则匹配 "("。
^ 匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符
集合。要匹配 ^
字符本身,请使用 \^。
{
标记限定符表达式的开始。要匹配 {
,请使用 \{。
|
指明两项之间的一个选择。要匹配 |
,请使用 \|。
构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与操作符
将小的表达式结合在一起来创建更大的表达式。正则表达式的组件可以是单个的字符、字
符集合、字符范围、字符间的选择或者所有这些组件的任意组合。