原文地址:http://book.51cto.com/art/200903/113275.htm
正则表达式组成
正则表达式是由普通字符(例如字符a~z)以及特殊字符(称为元字符)组成的文字模式。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。可以通过在一对分隔符之间放入表达式模式的各种组件来构造一个正则表达式,即/expression/。
正则表达式有多种不同的风格。
普通字符由所有那些未显式指定为元字符的打印和非打印字符组成。这包括所有的大写和小写字母字符、所有数字、所有标点符号及一些符号。
POSIX RE用于方括号外的元字符如表C-1所示。
特别字符 | 说 明 |
$ | 匹配输入字符串的结尾位置。如果设置了RegExp 对象的Multiline属性,则$也匹配'\n'或'\r'。 要匹配$字符本身,请使用\$ |
( ) | 标记一个子表达式的开始和结束位置。子表达式可 以获取供以后使用。要匹配这些字符,请使用\(和 \) |
* | 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \* |
+ | 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+ |
. | 匹配除换行符\n之外的任何单字符。要匹配 .,请使用 \ |
[ | 标记一个中括号表达式的开始。要匹配 [,请使用 \[ |
? | 匹配前面的子表达式零次或一次,或指明一个非 贪婪限定符。要匹配 ? 字符,请使用 \? |
\ | 将下一个字符标记为或特殊字符、或原义字符、 或向后引用、或八进制转义符。例如,“n”匹 配字符“n”。“\n”匹配换行符。序列“\\”匹 配“\”,而“\(”则匹配“(” |
^ | 匹配输入字符串的开始位置,除非在方括号表达式 中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 \^ |
{ | 标记限定符表达式的开始。要匹配{,请使用\{ |
| | 指明两项之间的一个选择。要匹配|,请使用\| |
POSIX RE用于方括号内的元字符,如表C-2所示。
特别字符 | 说 明 |
\ | 转义字符 |
^ | 非 |
- | 用于指定字符范围 |