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

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. 第一百九十五节,jQuery EasyUI,Resizable(调整大小)组件

    jQuery EasyUI,Resizable(调整大小)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 Resizeable(调整大小)组 ...

  2. Java 学习笔记之读取jdbc.propertyes配置参数

    package test; import java.io.IOException; import java.io.InputStream; import java.util.Properties; p ...

  3. JavaScript中trim 方法实现

    Java中的 String 类有个trim() 能够删除字符串前后的空格字符.jQuery中也有trim()方法能够删除字符变量前后的字符串. 可是JavaScript中却没有对应的trim() 方法 ...

  4. [Oracle] - Create DB on Oracle 12c for an Application

    Let's say we are going to develop a application for a bank, or any other enterprise, this applicatio ...

  5. jmeter操作myql数据库

    1.先安装mysql的驱动mysql-connector-java-5.1.7-bin.jar 配置jdbc的connection configuration Database Url :jdbc:m ...

  6. Win7 maven安装及配置

    1. 前期准备 ① jdk 1.8 ② maven 3.5.4 下载地址:http://maven.apache.org/download.cgi 2. 配置maven环境变量 ① maven解压到指 ...

  7. 【BZOJ2793】[Poi2012]Vouchers 调和级数

    [BZOJ2793][Poi2012]Vouchers Description 考虑正整数集合,现在有n组人依次来取数,假设第i组来了x人,他们每个取的数一定是x的倍数,并且是还剩下的最小的x个.正整 ...

  8. nginx1.4.7+uwsgi+django1.9.2项目部署,liunx系统为ubuntu14.0.4。

    本文基于root用户下进行部署,django项目名称为BDFS 1.  安装依赖包,终端输入命令 1)         环境依赖包 apt-get update apt-get install pyt ...

  9. c#调用c++带有回调函数方法的实现

    最近完成了一个C++版本的对外sdk程序,其中有部分回调函数使用. C++程序使用时没有异常,但是在C#环境下使用时出了点问题,简单总结下. 感谢博客:http://blog.csdn.net/son ...

  10. 0x05 MySQL 数据操作

    一 插入数据INSERT 1. 插入完整数据(顺序插入) 语法一: INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n); 语法二: INSERT I ...