正则表达式
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
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
相关文章推荐
- [Getting and Cleaning data] Week 2
- Docker视频教程
- ios 毛玻璃效果
- MySQL常用语句总结
- 常见的防止过拟合的方法
- jq 高级轮播图
- HDU 2899 Strange fuction(二分||三分)
- Android studio Robotium环境搭建-实测
- 使用Jmeter进行http接口测试
- JPHP
- git的使用技巧
- objective-c感悟(一)oc简介与常用类型
- jQuery.fn.extend jQuery.extend插件机制 tab切换
- grep
- YII Framework框架教程之安全方案详解
- Mac运行Tensorflow的matplotlib问题
- 在eclipse下的SVN插件配置忽略文件和文件夹
- linux把文件压缩成.tar.gz的命令
- pixhawk 烧写自己编译的程序需要重新插拔或不能正常连接QGC的解决方法
- windows mysql忘记root密码的解决方法