免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2075 | 回复: 1
打印 上一主题 下一主题

经常使用的正则表达式举例 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-23 11:19 |只看该作者 |倒序浏览

               
^ 对行首
$ 对行尾
^the对以the开头行[Ss]igna[lL]对匹配单词signal、signaL、
Signal、SignaL
[Ss]igna[lL]\. 对同上,但加一句点
[mayMAY] 对包含may大写或小写字母的行
^USER$ 对只包含USER的行
[tty]$ 对以tty结尾的行
\. 对带句点的行
^d..x..x..x 对用户、用户组及其他用户组成员有可执行权限的目录
^[^l] 对排除关联目录的目录列表
[.*0] 对0之前或之后加任意字符
[000*] 对000或更多个
[iI] 对大写或小写I
[iI] [nN] 对大写或小写i或n
[^$] 对空行
[^.*$] 对匹配行中任意字符串
^......$ 对包括6个字符的行
[a-zA-Z] 对任意单字符
[a-z][a-z]* 对至少一个小写字母
[^0-9\$] 对非数字或美元标识
[^0-0A-Za-z] 对非数字或字母
[123] 对1到3中一个数字
[Dd]evice 对单词device或Device
De..ce 对前两个字母为De,后跟两个任意字符,最后为ce
\^q对以^q开始行
^.$ 对仅有一个字符的行
^\.[0-9][0-9] 对以一个句点和两个数字开始的行
'"Device"' 对单词device
De[Vv]ice\. 对单词Device或deVice
[0-9]\{2\}-[0-9]\{2\}-[0-9]\{4\} 对日期格式dd-mm-yyyy
[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\}对IP地址格式nnn.nnn.nnn.nnn
[^.*$] 对匹配任意行


匹配html的嵌入代码
]*>
匹配[....]的嵌入码
\[[^]]\{1,\}\]
删除仅由空字符组成的行
sed '/^[[:space:]]*$/d' filename
匹配html标签
/\(]*>\)/
例如:从html文件中剔除html标签
sed 's/\(]*>\)//g;/^[[:space:]]*$/d'  file.html
例如:要从下列代码中去除"[]"及其中包括的代码
[b:4c6c2a6554][color=red:4c6c2a6554]一. 替换[/color:4c6c2a6554][/b:4c6c2a6554]
sed 's/\[[^]]\{1,\}\]//g' filename
匹配日期:
Month, Day, Year [A-Z][a-z]\{3,9\}, [0-9]\{1,2\}, [0-9]\{4\}
2003-01-28 或 2003.10.18 或 2003/10/10 或 2003 10 10
\([0-9]\{4\}[ /-.][0-2][0-9][ /-.][0-3][0-9]\)
匹配IP地址
\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\)
\(\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}\)
匹配数字串
[-+]*[0-9]\{1,\} 整数
[-+]*[0-9]\{1,\}\.[0-9]\{1,\}  浮点数
从字串中解析出两个子串(前2各字符和后9个字符)  
echo "WeLoveChinaUnix"|sed -e 'H;s/\(..\).*/\1/;x;s/.*\(.\{9\}\)$/\1/;x;G;s/\n/ /'  
We ChinaUnix  
分解日期串
echo 20030922|sed 's/\(....\)\(..\)\(..\)/\1 \2 \3/'|read year month day  
echo $year $month $day  
文件内容倒序输出
sed '1!G;h;$!d'  oldfile >newfile


转自chinaunin.net
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/93926/showart_1873979.html

论坛徽章:
3
水瓶座
日期:2014-03-25 17:08:042015亚冠之塔什干棉农
日期:2015-08-10 10:45:122015亚冠之萨济拖拉机
日期:2015-08-13 16:05:24
2 [报告]
发表于 2012-06-05 14:14 |只看该作者
纠正个错误,原文:[000*] 对000或更多个
应该是00或更多个,因为*表示零个或更多
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP