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),他可以用于匹配特定的字符范围。


正则表达式


描述


示例


[: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 匹配一个换页符

时间: 2024-08-05 10:49:48

Linux正则表达式语法的相关文章

linux正则表达式的使用

正则表达式的使用 1.1 创建环境 cat >q.txt<<EOF oldboy  oldboy hellooldboy hellooldboy awkoldboy  awkoldboy sedoldboy sedoldboy oldboyedu oldboyedu EOF 取出只有oldboy的行 grep "\boldboy\b" q.txt 实例1-1反向引用 [[email protected]~]# #####第一个里程碑-反向引用(先保护起来,然后使用)

Linux正则表达式grep与egrep

Linux正则表达式grep与egrep 正则表达式:它是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.在很多文本编辑器或其他工具里,正则表达式通常被用来检索或替换那些符合某个模式的文本内容.其实正则表达式,只是一种思想,一种表示方法.只要我们使用的工具支持表示这种思想那么这个工具就可以处理正则表达式的字符串.常用的工具有grep, sed, awk,这三个都是针对文本的行才操作的. grep  过滤器语法: grep  [-cinvABC]  'word'  filenam

正则表达式语法

正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符").模式描述在搜索文本时要匹配的一个或多个字符串. 正则表达式示例 表达式 匹配 /^\s*$/ 匹配空行. /\d{2}-\d{5}/ 验证由两位数字.一个连字符再加 5 位数字组成的 ID 号. /<\s*(\S+)(\s[^>]*)?>[\s\S]*<\s*\/\1\s*>/ 匹配 HTML 标记. 下表包含了元字符的完整列表以及它们在正则表达式上下文中的

Linux 正则表达式

Linux 正则表达式(*****) 1.什么是正则表达式? 简单的说,正则表达式就是为处理大量的字符串而定义的一套规则和方法 通过定义的这些特殊符号的辅助,系统管理员就可以快速过滤,替换或输出需要的字符串. Linux 正则表达式一般以行为单位处理的. 注意事项: a.#alias grep='grep --color=auto'  ===>以特定颜色高亮显示匹配关键字 b.注意字符集,LC_ALL=C   #export LC_ALL=C 实战举例: 1)^ word  搜索以 word 开

JAVA正则表达式语法大全

[正则表达式]文本框输入内容控制整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$只能输入数字:"^[0-9]*$".只能输入n位的数字:"^\d{n}$".只能输入至少n位的数字:"^\d{n,}$".只能输入m~n位的数字:."^\d{m,n}$"只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$".只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})

正则表达式语法学习

正则表达式用到的地方很多很广,一般用于验证 此文讲解了正则表达式的语法,以下内容转自网友[丰衣足食]的帖子 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式.该模式描述在查找文字主体时待匹配的一个或多个字符串.正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配. \ 将下一个字符标记为一个特殊字符.或一个原义字符.或一个 后向引用.或一个八进制转义符.例如,'n' 匹配字符 "n".'\n' 匹配一个换行符.序列 '\\' 匹配

正则表达式语法与正则表达式在iOS中的常见用法

一.什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式.正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分.它可以迅速地用极简单的方式达到字符串的复杂控制. 二.正则表达式的语法 看一个过滤纯数字的例子 - (BOOL)validateNumber:(NSString *) textString { NSString* number=@"^[0-9]+$"; NSPredicate *numberPre = [NSPre

java 正则表达式语法

java 正则表达式语法 标签: 正则表达式javawindowsvbscriptscripting电话 2012-05-20 10:11 6705人阅读 评论(1) 收藏 举报  分类: javaSe(16)  目录(?)[+] 本文目标 如何使用本教程 正则表达式到底是什么? 入门 测试正则表达式 元字符 字符转义 重复 字符类 反义 替换 分组 后向引用 零宽断言 负向零宽断言 注释 贪婪与懒惰 处理选项 平衡组/递归匹配 还有些什么东西没提到 联系作者 最后,来点广告… 一些我认为你可能

正则表达式 - 语法

正则表达式 - 语法 正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串.将匹配的子串做替换或者从某个串中取出符合某个条件的子串等. 列目录时, dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里*与正则式的*的含义是不同的. 构造正则表达式的方法和创建数学表达式的方法一样.也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式.正则表达式的组件可以是单个的字符.字符集合.字符范围.字符间