首页 > 其他 > 详细

linux shell编程学习笔记(9)正则表达式

时间:2014-03-01 18:21:16      阅读:629      评论:0      收藏:0      [点我收藏+]

1、什么是正则表达式

一串符号描述有共同属性的数据


一串符号:元符号

——正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。对于系统管理员来讲,正则表达式贯穿在我们的日常运维工作中,无论是查找某个文档,抑或查询某个日志文件分析其内容,都会用到正则表达式。

——其实正则表达式,只是一种思想,一种表示方法。只要我们使用的工具支持表示这种思想那么这个工具就可以处理正则表达式的字符串。常用的工具有grep, sed, awk

2、正则表达式的语法格式

#grep [选项]  ‘正则表达式’   文件列表      -

#前置命令  | grep [选项]  ‘正则表达式

3、正则表达式处理顺序:

·以行为处理单位

·对数据按先后顺序逐行处理

·处理完当前行后,自动处理下一行,直到末行为止

·默认输出与表达式匹配的行

4、正则表达式怎么写

——正则表达式由元字符组成

4.1、基本元字符

1^

——匹配行首

格式:^匹配字符



[root@moni01 shell]# grep ^root /etc/passwd
root:x:0:0:root:/root:/bin/bash
[root@moni01 shell]#

2$

——匹配行尾

格式:匹配字符$



[root@moni01 shell]# grep /sbin/nologin$ /etc/passwd   
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

3.


——匹配任意单个字符。换行符\n 除外

bubuko.com,布布扣


4[]

——匹配范围内的任意一个字符

——匹配优先





bubuko.com,布布扣








5{}

——限制正则表达式的匹配次数


1{n} 匹配n

2{n,m} 匹配n-m

3{n,} 匹配至少n

匹配空格

bubuko.com,布布扣


6+

——至少匹配一次(一次或多次)

bubuko.com,布布扣


7)?

——最多匹配一次(0次或1次)

bubuko.com,布布扣


9*

——匹配任意次数。(零次到多次)



bubuko.com,布布扣

(10)单词边界匹配


1)匹配整个单词/单词边界

如: \broot\b

      \<root\>

[root@moni01 tmp]# egrep ‘\broot\b‘ /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@moni01 tmp]#
2)匹配单词的开头

如:\broo

        \<roo

3)匹配单词的结束

如:oot\b

        Oot\>


bubuko.com,布布扣




本文出自 “小风” 博客,请务必保留此出处http://huanglianfeng.blog.51cto.com/4813074/1365227

linux shell编程学习笔记(9)正则表达式,布布扣,bubuko.com

linux shell编程学习笔记(9)正则表达式

原文:http://huanglianfeng.blog.51cto.com/4813074/1365227

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!