| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3181 人关注过本帖
标题:正则表达式-简述
取消只看楼主 加入收藏
guixiaolan
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:356
专家分:0
注 册:2006-4-20
收藏
 问题点数:0 回复次数:1 
正则表达式-简述
0.文件准备
[gxlinux@localhost ~]$ cat zhengze
1.ac
2.a\c
3.abc
4.abbc
5.abdc
6.12345
7.(last),(first)
8.(last)

1.$匹配结尾
[gxlinux@localhost ~]$ sed -n '/dc$/ p' zhengze
5.abdc
#匹配结尾是dc的行

2.^匹配开头
[gxlinux@localhost ~]$ sed -n '/^6/ p' zhengze
6.12345
#匹配开头是6的行

3.*匹配0个或多个
[gxlinux@localhost ~]$ sed -n '/ab*c/ p' zhengze
1.ac
3.abc
4.abbc
#匹配0个或多个b

4..匹配任意字符
[gxlinux@localhost ~]$ sed -n '/(.*)/ p' zhengze
7.(last),(first)
8.(last)
#匹配( 任意个字符 ),最长匹配

5.[^]匹配非
[gxlinux@localhost ~]$ sed -n '/([^)]*)/ p' zhengze
7.(last),(first)
8.(last)
#匹配( 非)的任意个字符 ),最短匹配,与上面的示例有所不同,注意

6.\匹配特殊字符
[gxlinux@localhost ~]$ sed -n '/a\\c/ p' zhengze #转义字符\\表示字符\
2.a\c
#匹配转义字符,即匹配a\c的行

7.示例
[gxlinux@localhost ~]$ sed -n 's/\([^,]*\),\(.*\)/\2,\1/ p' zhengze
(first),7.(last)
#将7.(last),(first)行前后置换
#\(与\)是一对,在替换作用中有用,不代表任何字符
#[^,]*表示不包括逗号的任意个字符,由于\(与\)将其括住,所以将其作为\1
#它匹配7.(last)
#.*表示与任意字符匹配,并将其作为\2
#它匹配(first)
#s表示替换,将前一个//中的内容替换为后一个//
#即将\([^,]*\),\(.*\)替换为\2,\1

8.?在find命令中表示1个任意字符
[gxlinux@localhost zhengze]$ ls
zhengce  zhengze  zhengzze
[gxlinux@localhost zhengze]$ find -name "zheng?e"
./zhengze
./zhengce
#注意:在sed或vi中并没有此功能

9.用处
正则表达式经常会用在sed和vi等一些编辑器中,作为查找或替代之用.

[[it] 本帖最后由 guixiaolan 于 2008-6-23 13:29 编辑 [/it]]
搜索更多相关主题的帖子: Samba 服务器 SMB samba restart 
2008-05-22 02:02
guixiaolan
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:356
专家分:0
注 册:2006-4-20
收藏
得分:0 
这篇不怎么好!

[[it] 本帖最后由 guixiaolan 于 2008-6-23 13:30 编辑 [/it]]

[url=http://www./]/sign/free.gif" target="_blank">http://ip./sign/free.gif[/url]
2008-06-22 16:43
快速回复:正则表达式-简述
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024502 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved