|
第十五章 shell正则表达式
见图片
Shell正则表达式
正则表达式的分类
- 基本的正则表达式(Basic Regular Expression 又叫Basic RegEx 简称BREs)
- 扩展的正则表达式(Extended Regular Expression 又叫Extended RegEx 简称EREs)
- Perl的正则表达式(Perl Regular Expression 又叫Perl RegEx 简称PREs)
基本组成部分
正则表达式的基本组成部分。
正则表达式描述示例Basic RegExExtended RegExPython RegExPerl regEx\转义符,将特殊字符进行转义,忽略其特殊意义a\ .b匹配a.b,但不能匹配ajb,点被转义为特殊意义\\\\^匹配行首,awk中,^则是匹配是字符串的开始^tux匹配以tux开头的行^^^^$匹配行尾,awk中,$则是匹配字符串的结尾tux$匹配以tux结尾的行$$$$.匹配除换行符\n之外的任意单个字符,awk中则可以ab.匹配abc或abd,不可匹配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等****()匹配表达式,创建一个用于匹配的子串****max(tri)?匹配max或者maxtri不支持()()(){n}匹配之前的项 n次,n是可以为0的正整数[0-9]{3}匹配任意一个三位数,可以扩展为3个[0-9]不支持{n}{n}{n}{n,}之前的项 至少需要匹配n次[0-9]{2,}匹配任意一个两位数或多位数不支持{n,}{n,}{n,}{n,m}指定之前的项至少匹配n次,最多匹配m次,n |
|
|