Jeff(er|re)y
Geoff(er|re)y
(Jeff|Geoff)(er|re)y
(Je|Geo)ff(er|re)y
gr[ae]y gr(e|a)y
行的起始与结束
^ $
字符组
[...]
排除型字符组
[^...]
任意单个字符
.
多选结构
|
忽略大小写
命令行参数 -i
单词分界符
元字符序列 \< \>
< >本身不是元字符 只有当他们与斜线结合起来的时候整个序列才有意义
量词
可选字符
?--代表可选项
其他量词:重复出现
+ --出现一次或多次
* --出现0次或任意多次
规定重复次数的范围:区间量词
...{min,max}
括号及反向引用
\([a-z]+) +\1\>
转义符
\. 转义点号
grep '^(http://|Apache|Licensed)' NOTICE //匹配以http:// Apache Licensed开头的行
egrep '\<.+\>' NOTICE //匹配任意字符组成的的行
egrep '\<Apache\>' NOTICE //匹配Apache单词出现的行
egrep -i '\<([a-z]+) +\1\>' NOTICE //匹配重复出现单词的行
egrep '\([a-zA-Z]+\)' NOTICE //匹配括号里面是单词的行
egrep '"[^"]*"' NOTICE //匹配“”好包含起来的字符串的行
egrep -i '\<http://[-a-z0-9._:]+/[-a-z0-9_:@&?=+,.!/~*%$]*\.html?\>' //匹配URL
12小时制时间
(1[0-2]|[1-9]):[0-5][0-9].(am|pm)
24小时时间
([01][0-9]|2[0-3]):[0-5][0-9].(am|pm)
/^[-+]?[0-9]+(\.[0-9]+)?$/ //匹配数字
var rex = /[(1-2)(4-7)]/
字符组的元字符不同于正则表达式的“普通”元字符,在字符组内部,括号不再具有特殊含义,因此也不需要转义
s/(?=s\b)(?<=bJeff)/'/g 的结果是什么