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

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. php中使用curl来post一段json数据

    场景:在调用第三方接口时经常需要使用到curl进行数据交互,在初次使用时遇到一些小问题,记录下来随时查阅. 封装curl相关方法便于使用,方法如下: /** * @param $url * @para ...

  2. jqGrid 事件

    jqGrid 事件 使用方法 var lastSel; jQuery("#gridid").jqGrid({ ... onSelectRow: function(id){ if(i ...

  3. poj3481(splay tree 入门题)

    平衡树都能做. // // main.cpp // splay // // Created by 陈加寿 on 16/3/25. // Copyright © 2016年 chenhuan001. A ...

  4. Uvalive6885(最短路)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=129723 题目大意:n个点,m条边,求出从0到n的最短距离,输出途 ...

  5. mvc 二级域名 重定向

    使用mvc开发了一个独立的站点(wechat),但是最后要和并到另外一个站点下(admin),但是外部访问要使用另一个站点(admin)的二级域名 考虑之后采用mvc路由机制来实现(这也要考虑),代码 ...

  6. 注册Asp4.0到iis

  7. python错误笔记

    1.print "hello world!";SyntaxError:Missing parentheses in call to ‘paint’ . Did you mean p ...

  8. ECMAScript6箭头函数ArrowFunction"=>"

    一.说明 ECMAScript6可以用箭头"=>"定义函数.x => x * x或(x) => {return x * x;}与匿名函数function(x){r ...

  9. Ubuntu部署jmeter

    一:ubuntu部署jdk 1:先下载jdk-8u74-linux-x64.tar.gz,上传到服务器,这里上传文件用到了ubuntu 下的 lrzsz. ubuntu下直接执行 sudo apt-g ...

  10. Linux中权限管理之ACL权限

    1.简介: a.作用: 是为了防止权限不够用的情况,一般的权限有所有者.所属组.其他人这三种,当这三种满足不了我们的需求的时候就可以使用ACL权限 b.故事背景: 一个老师,给一个班的学员上课,他在l ...