元字符 |
意思 |
例子 |
/ |
说明要匹配的字符是一个特殊字符、常量或者后引用(后引用重复上一次匹配) |
/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则重复上次匹配的内容,既单词匹配相同的字符,因此可以匹配两个连续相同的字符 |