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

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. C++数组类型与函数类型

    之所以将C++的数组类型与函数类型拿到一块说,是因为两者在很多地方都一样. 首先,声明形式上类似: 数组类型:  type [num]                                 ...

  2. 嵌入式开发之davinci--- 8148/8168/8127 中swms、Mosaic’s、display 显示pal 模式

    (1) (2) (3) (4) -------------------------author:pkf ------------------------------time:2-3 --------- ...

  3. [MongoDB]学习笔记--Linux 安装和运行MongoDB

    背景知识 MongoDB 是用C++写的, 开源的, NoSQL(Not Only SQL)文档数据库. 特点:high performance(高性能), high availability(高可靠 ...

  4. linux解压war包

    可以用unzip命令 unzip project.war -d project 这样就在当前目录下解压project.war到project目录里面,参数-d的意思是创建project目录 附:unz ...

  5. Xamarin.Forms学习之初

    微软的Build 2016结束的有段时间了,对于一个简单的小屌丝程序员--我来说,关注最大的无疑是Xamarin的免费(开源什么的让大神们上吧),内心激动啊.大会结束的周末我就迫不及待的安装了,然后. ...

  6. 发挥inline-block作用

    .pay-type { // 同行 display: inline-flex; padding: 0 @pay-type_2imgs_padding-width; } .pay-type_icon { ...

  7. extract

    w http://php.net/manual/en/function.extract.php <?php /* Suppose that $var_array is an array retu ...

  8. Centos7安装zookeeper

    1.进入/opt cd /opt 2.下载 zookeeper-3.4.10.tar.gz: wget https://mirrors.tuna.tsinghua.edu.cn/apache/zook ...

  9. Java 注解入门

    1.什么是注解 注解的语法: @注解名称; 注解的作用: 用来替代 xml 配置文件; 在 Servlet 3.0 中就可以使用注解来代替配置文件; 注解是由框架来读取使用的; 所有的注解都是 Ann ...

  10. 兼容ie的background-size: cover;

    .bg{ background: url() no-repeat; background-size:cover; filter: progid:DXImageTransform.Microsoft.A ...