您的位置:首页 > 其它

正则表达式

2016-03-14 11:44 309 查看
grep:根据模式搜索文本,并将符合模式的文本行显示出来
Pattern:文本字符和正则表达式的元字符组合而成的匹配条件
grep
-i 忽略大小写
--color 匹配到的字符串颜色显示
-v 显示没有被匹配的行
-o 只显示被匹配模式匹配到的字符串
-E 支持扩展正则表达式
-A #显示被匹配到的行的后N行
-B #显示被匹配到的行的前N行
-C #显示被匹配到的行的前后N行
正则表达式:REGEXP(REGular EXPression)
默认工作在贪婪模式下,尽可能长的匹配
元字符:
. 匹配任意单个字符
字符集合:[:digit:]任何数字 [:lower:]小写字母 [:upper:]大写字母 [:punct:]标点符号 [:space:]空格 [:alpha:]任何字母 [alnum:] 任何字母和数字
* 匹配其前面的字符任意次 .* 任意长度的任意字符
? 匹配起前面的字符一次或零次
{m,n} 匹配其前字符至少m次最多n次,grep下要加\,避免被shell解析,或者直接使用egrep。一个数字,{x}的意思是"前面的字符或字符簇只出现x次";一个数字加逗号,{x,}的意思是"前面的内容出现x或更多的次数";两个用逗号分隔的数字,{x,y}表示"前面的内容至少出现x次,但不超过y次
位置锚定:
^ 锚定行首
$ 锚定行尾
^$ 空白行
\< 锚定词首,其后面的任意字符必须作为单词首部出现 \b
\> 锚定词尾,其前面的任意字符必须作为单词的尾部出现 \b
分组
() \NUM 括号中的内容作为在此引用 后向引用
例如:
He love his lover.
She like her liker.
He like his lover.
She love her liker.
grep "\(l..e\).*\1" test.txt
扩展正则表达式
.
*
+ 其前字符至少1次
?
[]
{m,n}
( )
\<
\>
| :表示 or或者 匹配前后整个字符 例如:C|cat (C|c)at
IPV4:
A:1-127
B:128-191
C:192-223
D:
E:

fgrep : 不支持正则表达式,只能查找固定的文本,速度快于grep

本文出自 “Doove” 博客,请务必保留此出处http://doove.blog.51cto.com/1100940/1750813
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: