延伸正规表示法
来源:互联网 发布:免费打电话软件 编辑:程序博客网 时间:2024/05/01 17:53
一般读者只要了解基础型的正规表示法大概就已经相当足够了,不过,某些时刻为了要简化整个命令操作, 了解一下使用范围更广的延伸型正规表示法的表示式会更方便呢!
我们要去除空白行与行首为 # 的行列,使用的是
grep -v '^$' regular_express.txt | grep -v'^#'
如果使用延伸型的正规表示法,我们可以简化为:
egrep -v '^$|^#'regular_express.txt【那个在单引号内的管线意义为『或 or』啦】
如果要使用延伸型正规表示法,你可以使用 grep -E , 不过更建议直接使用 egrep !直接区分命令比较好记忆!其实 egrep 与 grep -E是类似命令别名的关系啦!
范例:搜寻 (god) (good) (goood)... 等等的字串。 那个 o+ 代表『一个以上的 o 』
egrep -n 'go+d' regular_express.txt?意义:『零个或一个』的前一个 RE 字符
范例:搜寻 (gd) (god) 这两个字串。 那个 o? 代表『空的或 1 个 o』;有没有发现到,这两个案例( 'go+d' 与 'go?d')的结果集合与 'go*d'相同?
egrep -n 'go?d' regular_express.txt|意义:用或( or )的方式找出数个字串
范例:搜寻 gd 或 good 这两个字串,注意,是『或』!
egrep -n 'gd|good' regular_express.txt
egrep -n 'gd|good|dog'regular_express.txt()意义:找出『群组』字串
范例:搜寻 (glad) 或 (good) 这两个字串,因为 g 与 d 是重复的
egrep -n 'g(la|oo)d' regular_express.txt()+意义:多个重复群组的判别
范例:将『AxyzxyzxyzxyzC』用 echo 叫出,然后再使用如下的方法搜寻一下!
echo 'AxyzxyzxyzxyzC' | egrep 'A(xyz)+C'
以上这些就是延伸型的正规表示法的特殊字节。另外,要特别强调的是,那个 !在正规表示法当中并不是特殊字节, 所以,如果你想要查出来文件中含有 ! 与 >的字行时,可以这样:
[root@sor-sys zy]# grep -n '[!>]' regular_express.txt
2:goooooogle yes!
6:oh, my god!!!
8:Oh! The soup taste good.
12:The world <Happy> is the same with "glad".
常常看到有陷阱的题目写:『反向选择这样对否? '[!a-z]'?』
呵呵!是错的呦~要 '[^a-z] 才是对的!
- 延伸正规表示法
- 延伸正规表示法的符号意义
- Linux学习之十五、基础正规表示法\延伸正规表示法
- linux学习篇9-1 基本的正规表达式 sed 工具(未完成) 延伸正规表示法
- 正规表示法
- linux-正规表示法
- 正规表示法Regular Expression
- linux_第10章正规表示法
- linux学习笔记_正规表示法
- 压缩指令和正规表示法
- 基础正规表示法特殊字符意义
- 正规表示法与文件格式化处理
- 基础正规表示法字符汇整
- Linux grep命令和正规表示法
- Linux基础之正规表示法
- 第十二章 基础正规表示法
- 正规表示法和Linux三剑客
- linux 神奇的压缩指令与正规表示法
- 走过2011年
- 从博客园那弄来了。自己写一个例子,对比了一下啊。还是异步速度快
- 架构设计之性能设计经验
- 禁止页面缓存的方法
- 移动优先很好,但我想快好省的将现有网站移动化
- 延伸正规表示法
- JS 字符串转整型
- 公钥,私钥,SSL(讲的很生动)
- 我们如何让产品 backlog 停留在业务层次上
- 快捷支付单方便划款,支付宝绑架银行,网银安全关卡成马其诺防线?
- Hive和并行数据仓库的比较
- 点击超链接打开服务器上的word文件
- 黑马程序员:注解
- Windows service 定时发送Mail