Linux正则表达式:

 一、基础正则第一波字符说明:

示例:

二、基础正则第二波字符说明: 

三、基础正则第二波字符说明:

示例:

 grep:一般常用参数

示例:+和*

 ?和.:

 |:

 ():

Linux正则表达式语法

基本组成部分

正则表达式的基本组成部分。

正则表达式

描述

示例

\

转义符,将特殊字符进行转义,忽略其特殊意义

a\.b匹配a.b,但不能匹配ajb,.被转义为特殊意义

^

匹配行首,awk中,^则是匹配字符串的开始

^tux匹配以tux开头的行

$

匹配行尾,awk中,$则是匹配字符串的结尾

tux$匹配以tux结尾的行

.

匹配除换行符\n之外的任意单个字符,awk则中可以

ab.匹配abc或bad,不可匹配abcd或abde,只能匹配单字符

[ ]

匹配包含在[字符]之中的任意一个字符

coo[kl]可以匹配cook或cool

[^ ]

匹配[^字符]之外的任意一个字符

123[^45]不可以匹配1234或1235,1236、1237都可以

[ - ]

匹配[]中指定范围内的任意一个字符,要写成递增

[0-9]可以匹配1、2或3等其中任意一个数字

?

匹配之前的项1次或者0次

colou?r可以匹配color或者colour,不能匹配colouur

+

匹配之前的项1次或者多次

sa-6+匹配sa-6、sa-666,不能匹配sa-

*

匹配之前的项0次或者多次

co*l匹配cl、col、cool、coool等

()

匹配表达式,创建一个用于匹配的子串

ma(tri)?匹配max或maxtrix

{ n }

匹配之前的项n次,n是可以为0的正整数

[0-9]{3}匹配任意一个三位数,可以扩展为[0-9][0-9][0-9]

{n,}

之前的项至少需要匹配n次

[0-9]{2,}匹配任意一个两位数或更多位数

{n,m}

指定之前的项至少匹配n次,最多匹配m次,n<=m

[0-9]{2,5}匹配从两位数到五位数之间的任意一个数字

|

交替匹配|两边的任意一项

ab(c|d)匹配abc或abd

POSIX字符类

POSIX字符类是一个形如[:...:]的特殊元序列(meta sequence),他可以用于匹配特定的字符范围。

Linux正则表达式语法正则表达式

描述

示例

[:alnum:]

匹配任意一个字母或数字字符

[[:alnum:]]+

[:alpha:]

匹配任意一个字母字符(包括大小写字母)

[[:alpha:]]{4}

[:blank:]

空格与制表符(横向和纵向)

[[:blank:]]*

[:digit:]

匹配任意一个数字字符

[[:digit:]]?

[:lower:]

匹配小写字母

[[:lower:]]{5,}

[:upper:]

匹配大写字母

([[:upper:]]+)?

[:punct:]

匹配标点符号

[[:punct:]]

[:space:]

匹配一个包括换行符、回车等在内的所有空白符

[[:space:]]+

[:graph:]

匹配任何一个可以看得见的且可以打印的字符

[[:graph:]]

[:xdigit:]

任何一个十六进制数(即:0-9,a-f,A-F)

[[:xdigit:]]+

[:cntrl:]

任何一个控制字符(ASCII字符集中的前32个字符)

[[:cntrl:]]

[:print:]

任何一个可以打印的字符

[[:print:]]

元字符

元字符(meta character)是一种Perl风格的正则表达式,只有一部分文本处理工具支持它,并不是所有的文本处理工具都支持。

正则表达式

描述

示例

\b

单词边界

\bcool\b 匹配cool,不匹配coolant

\B

非单词边界

cool\B 匹配coolant,不匹配cool

\d

单个数字字符

b\db 匹配b2b,不匹配bcb

\D

单个非数字字符

b\Db 匹配bcb,不匹配b2b

\w

单个单词字符(字母、数字与_)

\w 匹配1或a,不匹配&

\W

单个非单词字符

\W 匹配&,不匹配1或a

\n

换行符

\n 匹配一个新行

\s

单个空白字符

x\sx 匹配x x,不匹配xx

\S

单个非空白字符

x\S\x 匹配xkx,不匹配xx

\r

回车

\r 匹配回车

\t

横向制表符

\t 匹配一个横向制表符

\v

垂直制表符

\v 匹配一个垂直制表符

\f

换页符

\f 匹配一个换页符

Linux三剑客正则表达式常用字符汇总

 

NO22 Linux正则表达式--grep命令常用参数的更多相关文章

  1. Linux系统sed命令常用参数实战

    Linux系统sed命令常用参数实战 常用参数 -n 输出某行的文本内容,通常与p联合使用, -e 命令行模式下进行sed的动作编辑,输出编辑后的内容,源文件不会发生变化 -f 以命令中指定的scri ...

  2. Linux操作系统的文件查找工具locate和find命令常用参数介绍

    Linux操作系统的文件查找工具locate和find命令常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.非实时查找(数据库查找)locate工具  locate命 ...

  3. Linux正则表达式grep与egrep

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

  4. linux中grep命令的使用

    转载:http://blog.csdn.net/universsky/article/details/8866402 linux中grep命令的使用 grep (global search regul ...

  5. 12个 Linux 中 grep 命令的超级用法实例

    12个 Linux 中 grep 命令的超级用法实例 你是否遇到过需要在文件中查找一个特定的字符串或者样式,但是不知道从哪儿开始?那么,就请grep来帮你吧. grep是每个Linux发行版都预装的一 ...

  6. free命令常用参数详解

    free命令常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在运维期间我们会经常去查看服务器硬件信息,比如说内存,大家可能知道看内存用“[root@yinzhengji ...

  7. CentOS6.9下ssh密钥登录配置步骤(免密码登录)和ssh-keygen 命令常用参数

    密钥登录步骤(免密码登录)ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式.其中口令(密码)认证方式是我们最常用的一种,出于安全方面的考虑,介绍密钥认证方式登录到linux/unix的方 ...

  8. Debian9.5下ssh密钥登录配置步骤(免密码登录)和ssh-keygen 命令常用参数

    密钥登录步骤(免密码登录)ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式.其中口令(密码)认证方式是我们最常用的一种,出于安全方面的考虑,介绍密钥认证方式登录到linux/unix的方 ...

  9. [转帖]RPM的原理及rpm命令常用参数

    RPM的原理及rpm命令常用参数 2015年09月14日 15:39:43 lose_wait 阅读数 1298 https://blog.csdn.net/u012012939/article/de ...

随机推荐

  1. 自定义Redis作为Session存储服务提供

    之前看网上介绍可使用Redis自定义Session托管,使用第三方的Harbour.RedisSessionStateStore GitHub:https://github.com/TheCloudl ...

  2. 设计模式课程 设计模式精讲 6-2 抽象工厂coding

    1 代码讲解 1.1 抽象工厂优点 1.2 抽象工厂缺点 1.3 为何有产品族的业务场景宜用抽象工厂设计模式?而不是工厂设计模式? 2 代码演练 2.1 抽象工厂代码演练 1 代码讲解 1.1 抽象工 ...

  3. selenium webdriver 操作RadioButton

    @Test public void testRadio() { WebDriver driver = ExplorerBase.IESetting(); try { Thread.sleep(500) ...

  4. 泛型DAO模型设计

    aaarticlea/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKC

  5. 吴裕雄--天生自然数据结构与算法:java代码实现常用数据结构——链表Linked List

    class Node{ // 定义节点类 private String data ; // 保存节点内容 private Node next ; // 表示保存下一个节点 public Node(St ...

  6. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 排版:设定文本小写

    <!DOCTYPE html> <html> <head> <title>菜鸟教程(runoob.com)</title> <meta ...

  7. 杭电2019 数列有序!(STL解法)

    由于这题对于学过数据结构的我来说,真的是很简单,为了减少时间上的损失,链表无疑是最好的选择(因为数组要往后移位子).然后,因为最近想玩些STL的骚操作,所以就用<list>了,然后顺便学了 ...

  8. Java基础 -2.2

    整形数据 保存的范围由小到大:byte.short.int.long 在java中任何的一个整型常量 那么其默认的类型都是int型(只要是整数就是int类型的数据). public class ex1 ...

  9. The 2019 ICPC China Nanchang National Invitational and International Silk-Road Programming Contest - F.Sequence(打表+线段树)

    题意:给你一个长度为$n$的数组,定义函数$f(l,r)=a_{l} \oplus a_{l+1} \oplus...\oplus a_{r}$,$F(l,r)=f(l,l)\oplus f(l,l+ ...

  10. Java - 实现双向链表

    熟悉一下Java... package ChianTable; import java.util.Scanner; /** * Created by Administrator on 2018/3/2 ...