为处理大量的字符串而定义的一套规则和方法

1)linux正则表达式以行为单位处理

2)alians grep = “grep –color=auto”,让匹配的内容显示颜色

3)注意字符集,export LC_ALL=C

[root@pyrene ~]# alias grep='grep --color=auto'

[root@pyrene ~]# export LC_ALL=C

[root@pyrene ~]# echo $LC_ALL      --检查字符集是否正确

C

一、正则表达式第一波字符说明

1)^word  匹配word开头的内容  vim里面的^代表一行的开头

[root@pyrene ~]# grep "^m" oldboy.log

my blog is http://www.cnblogs.com

my qq is 3110436742

my god ,i am not p but pyrene

2)word$   匹配以word结尾的内容,  vim里面的$代表一行的结尾

[root@pyrene ~]# grep "m$" oldboy.log

my blog is http://www.cnblogs.com

3)^$  代表空行

[root@pyrene ~]# grep -n "^$" oldboy.log   这里-n显示行号

3:

7:

二、基础正则表达式第二波字符说明

4).  代表且只能表示任意一个字符

5)\  转移符号,让有特殊身份意义的字符脱掉马甲

6)*  重复0个或者多个前面的一个字符

7).*  匹配所有字符

[root@pyrene ~]# grep -n "." oldboy.log

1:i am pyrene and

2:i like linux

4:i like badminton ball . billiard ball and chinese chess!

5:my blog is http://www.cnblogs.com

6:my qq is 3110436742

8:my god ,i am not p but pyrene

[root@pyrene ~]# grep -n ".*" oldboy.log

1:i am pyrene and

2:i like linux

3:

4:i like badminton ball . billiard ball and chinese chess!

5:my blog is http://www.cnblogs.com

6:my qq is 3110436742

7:

8:my god ,i am not p but pyrene

三、第三波正则字符说明

8)[abc]  匹配字符集合内任意一个祖父[a-zA-Z],[0-9]

9)[^abc]  匹配不包含^后的任意一个字符的内容

中括号里的^为取反,注意和中括号外面的以…开头的区别

[root@pyrene ~]# grep "[abc]" oldboy.log

i am pyrene and

i like badminton ball . billiard ball and chinese chess!

my blog is http://www.cnblogs.com

my god ,i am not p but pyrene

[root@pyrene ~]# grep "[^abc]" oldboy.log

i am pyrene and

i like linux

i like badminton ball . billiard ball and chinese chess!

my blog is http://www.cnblogs.com

my qq is 3110436742

my god ,i am not p but pyrene

10) a\{n,m\} 重复a  n到m次,前一个重复的字符,如果要用egrep /sed –r可以去掉斜线

a\[n,\] 重复a至少n次前一个重复的字符

a\{n\} 重复a  n次

a\{,m\}????

注意egrep或者sed –r过滤一般特殊字符可以不转义

[root@pyrene ~]# grep "0\{0,\}" oldboy.log

i am pyrene and

i like linux

i like badminton ball . billiard ball and chinese chess!

my blog is http://www.cnblogs.com

my qq is 3110436742

my god ,i am not p but pyrene

 

扩展正则表达式

1)+  表示重复一个或一个以上前面的字符

[root@pyrene ~]# grep -E "go+d" oldboy.log

my god ,i am not p but pyrene

2)?  表示重复0个或者1个前面的字符

3)|  表示同时过滤多个字符串

[root@pyrene ~]# egrep "3306|1521" /etc/services

mysql           3306/tcp                        # MySQL

mysql           3306/udp                        # MySQL

ncube-lm        1521/tcp                # nCube License Manager

ncube-lm        1521/udp                # nCube License Manager

4)()   后向引用,分组过滤

七 、linux正则表达式的更多相关文章

  1. linux正则表达式之-基础正则表达式(基于grep)

    linux正则表达式: 简单的说,正则表达式就是为处理大量的字符串而定义的一套规则和方法,如:假设@代表123456,!代表abcde.通过定义的这些特殊符号的铺助,系统管理员就可以快速的过滤,替换或 ...

  2. 关于清晰讲解linux正则表达式的博文分享

    http://www.cnblogs.com/chengmo/archive/2010/10/10/1847287.html  linux shell 正则表达式(BREs,EREs,PREs)差异比 ...

  3. Linux正则表达式grep与egrep

    grep -io "http:/=[A-Z0-9]\{16\}" ./wsxf.txt >wsxf_urls.txt Linux正则表达式grep与egrep 正则表达式:它 ...

  4. 【Linux】linux正则表达式及通配符

    正则表达式就是用于匹配每行输入的一种模式,模式是指一串字符序列.拥有强大的字符搜索功能.也非常方便的搜索过滤出我们想要的内容. linux正则表达式分为基本正则表达式(Basic Regexp)和扩展 ...

  5. Linux 正则表达式_010

    Linux 正则表达式 标注:本教程只针对linux运维的三剑客命令awk,sed,grep正则表达式 什么是正则表达式? 简单的说,正则表达式就是为处理大量的字符串而定义的一套规则和方法通过定义的这 ...

  6. linux正则表达式(基础正则表达式+扩展正则表达式)

    正则表达式应用非常广泛,例如:php,Python,java等,但在linux中最常用的正则表达式的命令就是grep(egrep),sed,awk等,换句话 说linux三剑客要想能工作的更高效,就一 ...

  7. linux 正则表达式和通配符

    linux 正则表达式和通配符 通配符用于查找文件 包含三种:  * ? [] * 代表任意个任意字符 ? 代表任意一个字符 [] 代表中括号中的一个字符 正则表达式(正则是包含匹配,只要包含就可以匹 ...

  8. Python爬虫入门七之正则表达式

    在前面我们已经搞定了怎样获取页面的内容,不过还差一步,这么多杂乱的代码夹杂文字我们怎样把它提取出来整理呢?下面就开始介绍一个十分强大的工具,正则表达式! 1.了解正则表达式 正则表达式是对字符串操作的 ...

  9. (转)linux正则表达式详解

    linux正则表达式详解 http://blog.csdn.net/wuliowen/article/details/64131815 1:什么是正则表达式: 简单的说,正则表达式就是处理字符串的方法 ...

随机推荐

  1. ios--后台返回信息有字符串和数字组成的,如何获取电话号码,让用户能够点击并且进行拨打?

    -(void)callPhone:(NSString*)phoneNumber{ NSString *phoneStr=[NSString stringWithFormat:@"tel:// ...

  2. Laravel5.1 路由 -基础

    什么是路由? 大K简单的说下,路由是用户访问我们程序的一个入口,比方说 你在浏览器输入:www.myblogs.com/create 就会打开一个页面,我们接收到这一个请求后后台需要做一些事儿来反馈给 ...

  3. Docker入门与应用系列(一)介绍与部署

    Docker介绍 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制, ...

  4. 【剑指Offer面试题】 九度OJ1518:反转链表

    与其非常快写出一段漏洞百出的代码,倒不如细致分析再写出鲁棒的代码. 提前想好測试用例(输入非空等等)进行測试改动代码. 题目链接地址: http://ac.jobdu.com/problem.php? ...

  5. 多个 python的pip版本选择

    如果你电脑里面装了多个版本的python python3 -m pip instatll xlutilspython2 -m pip instatll xlutils 加载新的pippython -m ...

  6. 1503 猪和回文(DP)

    1503 猪和回文 题目来源: CodeForces 基准时间限制:2 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 一只猪走进了一个森林.很凑巧的是,这个森林的形状是长方形的,有 ...

  7. Linux下Solr的安装和配置

    一.安装 1.需要的安装包:apache-tomcat-7.0.47.tar.gz.solr-4.10.3.tgz.tgz(jdk自行安装) 2.解压tomcat并创建solr文件夹 [root@lo ...

  8. JS HTML DOM---Document对象

    Document 对象 当浏览器载入 HTML 文档, 它就会成为 document 对象. document 对象是HTML文档的根节点与所有其他节点(元素节点,文本节点,属性节点, 注释节点). ...

  9. 对宽度的控制原则 git commit -a -m "M 1、完成less计算得出图片的均分布局;";git push origin master:master

    <script> import wepy from 'wepy' import api from '../api/api' export default class recharge ex ...

  10. ES6学习笔记(一)——let和const

    1.ES6学习之let.const (1).var.let.const 变(常)量声明 ES5 只有全局作用域和函数作用域,没有块级作用域,这带来很多不合理的场景. 在ES6中let就诞生了,实际上它 ...