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. leetcode 0216

    目录 ✅ 893. 特殊等价字符串组 描述 解答 cpp py ✅ 811. 子域名访问计数 描述 解答 cpp py ✅ 509. 斐波那契数 描述 解答 cpp py ✅ 521. 最长特殊序列 ...

  2. 大数据篇:YARN

    YARN YARN是什么? YARN是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率.资源统一管理和数据共享等方面带来了巨大 ...

  3. C/C++网络编程10——I/O复用服务器端实现select方式

    #include <iostream> #include <cstdlib> #include <string> #include <cstring> ...

  4. 1.ORM介绍,基本配置及通过ORM框架创建表

    1.介绍 ORM全拼Object-Relation Mapping(对象-关系映射) 作用:主要实现模型对象到关系数据库数据的映射 通过ORM框架作为一个中间者或者是一个桥梁,开发者通过定义模型类,属 ...

  5. 吴裕雄--天生自然 JAVA开发学习:解决java.sql.SQLException: The server time zone value报错

    这个异常是时区的错误,因此只你需要设置为你当前系统时区即可,解决方案如下: import java.sql.Connection ; import java.sql.DriverManager ; i ...

  6. docker-compose 快速部署持续集成测试环境 Gitlab+Harbor+Jenkins pipeline 实现 tag run docker Images

    环境 测试部署主机IP:192.168.1.1 Jenkins主机IP:192.168.1.2 Harbor主机IP:192.168.1.3 Gitlab主机IP:192.168.0.10 系统信息: ...

  7. docker的私有化仓库harbor搭建

    目前比较流行的docker私有化仓库是harbor,harbor是一个github开源的项目,直接在github上搜索即可,下载地址:https://github.com/goharbor/harbo ...

  8. 4.使用Redis+Flask维护动态代理池

    1.为什么使用代理池 许多⽹网站有专⻔门的反爬⾍虫措施,可能遇到封IP等问题. 互联⽹网上公开了了⼤大量量免费代理理,利利⽤用好资源. 通过定时的检测维护同样可以得到多个可⽤用代理理. 2.代理池的要 ...

  9. .Net后台实现微信APP支付

    上一节分享了微信小程序支付的后台,这一节来分享一下微信APP支付的后台.微信APP支付和微信小程序差别不大,微信APP支付后台不需要微信登录凭证.后台下单时交易类型(trade_type)不再是&qu ...

  10. express框架开发接口部署线上环境PM2

    1.PM2介绍 PM2是一个线上环境下,用于启动nodejs进程守护的工具,用来保证服务的稳定及分摊服务器进程和压力. 2.下载安装 npm install pm2 -g  => pm2 --v ...