元字符 | 意思 | 例子 |
/ | 说明要匹配的字符是一个特殊字符、常量或者后引用(后引用重复上一次匹配) | /n 匹配换行符 // 匹配 / /( 匹配 ( /) 匹配 ) |
^ | 匹配字符串的开头位置 | 如果A是字符串中的第一个字符,^A匹配A |
$ | 匹配字符串的末尾位置 | 如果B是字符串中的最后一个字符,$B匹配B |
* | 匹配前面的字符0或多次 | ba*rk可以匹配brk、bark、baark等 |
+ | 匹配前面的字符1或多次 | ba+rk可匹配bak、baark |
? | 匹配前面的字符0或1次 | ba?rk只匹配brk、bark |
{n} | 匹配一个字符恰好n次 | hob{2}it可匹配hobbit |
{n,m} | 匹配一个字符至少n次,最大m次 | hob{2,3}it只匹配hobbit、hobbbit |
. | 匹配除了null外的一个字符 | hob.it可匹配hobbit、hobait |
(pattern) | 匹配指定模式的一个字表达式,可以使用字表达式构成复杂的正则表达式,这种字表达式中,可以访问单词的匹配,称为匹配命中 | anatom(y|ies)可匹配anatomy、anatomies |
x|y | 匹配x或y,其中x和y是一个或多个字符 | war|peace |
[abc] | 匹配括号中的任一字符 | [ab]ce可匹配ace、bce |
[a-z] | 匹配指定范围内的任一字符 | [a-e]mx可匹配bmx、emx |
[::] | 指定一个字符类,可以匹配该类中的任何字符 | [:alphanum:]可匹配字符0-9,A-Z和a-z [:alpha:]可匹配字符A-Z,a-z [:blank:]可匹配空格或tab键 [:digit:]可匹配数字0-9 [:graph:]可匹配非空字符 [:lower:]可匹配小写字母a-z [:upper:]可匹配大写字母A-Z [:print:]与[:graph:]+null [:punct:]可匹配标点符号.,”’ [:space:]可匹配所有的空格 [:xdigit:]可匹配十六进制数0-9,A-F,a-f |
[..] | 匹配一个组合元素,例如多字符元素 |
|
[==] | 指定等价类 |
|
/n | 这是对前一次匹配命中的一个后引用,n为一个正整数 | (.)/1可匹配两个连续相同的字符,(.)可匹配除null之外的任何单个字符,而/1则重复上次匹配的内容,既单词匹配相同的字符,因此可以匹配两个连续相同的字符 |