`

Linux正则表达式语法

 
阅读更多

基本组成部分

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

正则表达式

描述

示例

\

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

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

^

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

^tux匹配以tux开头的行

$

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

tux$匹配以tux结尾的行

.

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

ab.匹配abcbad,不可匹配abcdabde,只能匹配单字符

[ ]

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

coo[kl]可以匹配cookcool

[^ ]

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

123[^45]不可以匹配1234123512361237都可以

[ - ]

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

[0-9]可以匹配123等其中任意一个数字

?

匹配之前的项1次或者0

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

+

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

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

*

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

co*l匹配clcolcoolcoool

()

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

ma(tri)?匹配maxmaxtrix

{ 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)匹配abcabd

POSIX字符类

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

正则表达式

描述

示例

[:alnum:]

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

[[:alnum:]]+

[:alpha:]

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

[[:alpha:]]{4}

[:blank:]

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

[[:blank:]]*

[:digit:]

匹配任意一个数字字符

[[:digit:]]?

[:lower:]

匹配小写字母

[[:lower:]]{5,}

[:upper:]

匹配大写字母

([[:upper:]]+)?

[:punct:]

匹配标点符号

[[:punct:]]

[:space:]

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

[[:space:]]+

[:graph:]

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

[[:graph:]]

[:xdigit:]

任何一个十六进制数(即:0-9a-fA-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 匹配1a,不匹配&

\W

单个非单词字符

\W 匹配&,不匹配1a

\n

换行符

\n 匹配一个新行

\s

单个空白字符

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

\S

单个非空白字符

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

\r

回车

\r 匹配回车

\t

横向制表符

\t 匹配一个横向制表符

\v

垂直制表符

\v 匹配一个垂直制表符

\f

换页符

\f 匹配一个换页符

 

本文出自 “一只小菜鸟” 博客,请务必保留此出处http://aresxin.blog.51cto.com/4734097/1602624

分享到:
评论

相关推荐

    UNIX和Linux Shell正则表达式语法介绍

    正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。本文介绍了UNIX和Linux Shell正则表达式的语法。

    Linux下的C语言正则表达式

    - `cflags`: 控制编译过程的标志位,如`REG_EXTENDED`表示扩展正则表达式语法。 2. **匹配正则表达式** - 使用`regexec()`函数来测试一个字符串是否与编译好的正则表达式匹配。 - 函数原型: ```c int regexec...

    最小的C++正则表达式库

    这款小型库虽然体积小,但功能却不容小觑,它支持各种常见的正则表达式语法,如字符类、量词、分组、预查和后顾等,涵盖了大部分开发者在实际项目中可能用到的功能。 跨平台性是这个库的一大亮点。在开发过程中,...

    Linux C Regex正则表达式 库

    这里,`REG_EXTENDED`标志指示我们使用扩展的正则表达式语法。 2. **执行匹配**:编译完成后,我们可以使用`regexec()`函数来尝试匹配目标字符串。如果匹配成功,`regexec()`返回值为0;否则,返回非零值。例如: ...

    Linux_Shell正则表达式语法介绍.txt

    ### Linux Shell 正则表达式语法详解 #### 标题:Linux Shell 正则表达式语法介绍 #### 描述:本文旨在详细介绍 Linux Shell 中使用的正则表达式的语法及其应用场景。 #### 标签:正则表达式 #### 知识点详解: ...

    正则表达式之道.rar

    在"简单"部分,初学者会学习到基础的正则表达式语法,如匹配单个字符(如"."代表任意字符)、字符类(如"[a-z]"匹配小写字母)以及重复匹配(如"*"表示零次或多次)。这些基础知识是构建更复杂表达式的基础。 "中级...

    regexp正则表达式正则表达式正则表达式

    - **grep/egrep**:Unix/Linux 下的命令行工具,用于在文件中搜索匹配正则表达式的行。 #### 五、正则表达式的高级主题 对于更深入的学习者来说,还可以探索以下高级主题: - **反向引用**:在正则表达式中使用...

    UNIX和LINUX系统的SHELL正则表达式语法

    这些基本的正则表达式语法在UNIX和LINUX系统的SHELL中被广泛使用,特别是在脚本和命令行中,它们可以帮助用户进行高效的文本处理,如文件名查找、数据筛选、文本替换等操作。掌握正则表达式语法,能极大地提高在文本...

    Linux_Shell正则表达式语法doc

    Linux Shell中的正则表达式是用于模式匹配的强大工具,它允许你在命令行或者脚本中进行复杂的文本查找、替换和处理。以下是对正则表达式关键知识点的详细解释: 1. **元字符**:元字符是具有特殊含义的字符,如`^`...

    linux shell 正则表达式语法.docx

    ### Linux Shell 正则表达式语法详解 #### 一、正则表达式概念 正则表达式是一种强大的文本处理工具,它可以实现字符串的查找、替换等功能。在Linux shell环境中,正则表达式广泛应用于文件名扩展、命令参数、文本...

    正则表达式生成软件(英文)

    4. **学习资源**:RegexBuddy内置了丰富的正则表达式语法文档和教程,用户可以在使用过程中随时查阅,提高对正则表达式的理解和运用能力。 5. **跨平台兼容**:尽管本版本是英文版,但RegexBuddy通常支持多平台,...

    linux shell正则表达式

    它与grep的区别在于默认支持更丰富的正则表达式语法。 - **sed**:sed默认使用BREs,通过添加`-r`选项可以使用ERE。它主要用于对文本文件的内容进行查找、替换、删除等操作。 - **awk**:awk内置支持ERE,适用于...

    一款可调式生成正则表达式的软件!

    5. **文档支持**:内置正则表达式语法参考,方便用户查询和学习。 6. **模板库**:预设常见正则表达式模式,如邮箱验证、电话号码格式检查等,方便快速选用。 7. **多平台兼容**:可能支持Windows、MacOS、Linux等...

    PHP正则表达式基本语法和使用方法

    正则表达式(regular expression)是一种表示方式,最早在LINUX被当做一种搜索算法应用在编辑器中,后来被广泛应用,不仅PHP脚本支持正则表达式,Perl、C#、Java以及JavaScript和MySQL也对正则表达式支持。...

    REG正则表达式教程

    掌握正则表达式,可以极大地提升你在编程和数据处理上的效率,无论是UNIX/Linux系统还是Windows环境,甚至在各种编程语言中,如Python、Java、JavaScript等,正则表达式都是不可或缺的一部分。 正则表达式的核心...

    遨游在正则表达式的海洋

    ### 正则表达式知识点详解 #### 一、正则表达式概述 正则表达式是一种强大的文本处理工具,能够帮助我们实现对字符串的搜索、替换等操作。它在多种编程语言和环境中都有广泛的应用,如*nix系统(Linux、Unix等)、...

Global site tag (gtag.js) - Google Analytics