关于 grep及正则表达式
grep及正则表达式
正则表达式(REGular EXPression,REGEXP)是对字符串和特殊字符(元字符)操作的一种逻辑公式,使用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。通常被用来检索、替换那些符合某个模式的文本。
正则表达式又分为基本正则表达式(Basic REGEXP)和扩展正则表达式(Extended REGEXP)。
常见的用途就是用来比对垃圾邮件。
万用字符
列举一些万用字符,跟正则表达式不通。
- *:任意长度的任意字符
- ?:任意单个字符
[]:括号内的单个字符
- [abcd]:可以是a,b,c,d中任何一个,但必须有
- [0-9]:可以是0到9的任何一个数字,但必须有
[^]:非括号内字符的单个字符
正则表达式POSIX字符类
特殊符号 | 代表意义 |
---|---|
[:alnum:] | 0-9,a-z,A-Z |
[:alpha:] | a-z,A-Z |
[:digit:] | 0-9 |
[:xdigit:] | 任何十六进制数字 |
[:lower:] | a-z |
[:upper:] | A-Z |
[:cntrl:] | ASCII控制字符(ASCII 0~31 和 ASCII 127) |
[:print:] | 任何可打印字符 |
[:punct:] | 标点符号 |
[:blank:] | 空格或制表符([\t ]) |
[:graph:] | 除空白字符外的其他字符 |
[:space:] | 任何空白字符,包括空格([\f\n\r\t\v ]) |
grep
grep [OPTIONS] PATTERN [FILE...]
- -i 忽略字符大小写的差别
- -v:显示没有被模式匹配到的行
- -o:只显示被模式匹配到的字符串
- -E:使用扩展正则表达式 egrep
- -A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。
- -B<显示行数> 或 --before-context=<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前的内容。
- -C<显示行数> 或 --context=<显示行数>或-<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前后的内容。
正则
元字符
相关推荐
wangzhaotongalex 2020-10-20
rechanel 2020-11-16
cshanzhizi 2020-10-16
luofuIT成长记录 2020-09-22
taomengxing 2020-09-07
MaggieRose 2020-08-19
jyj00 2020-08-15
MaggieRose 2020-07-04
modaiairen 2020-06-28
ziggurat 2020-06-28
JnX 2020-06-27
jyj00 2020-06-26
山水沐光 2020-06-25
shqhope 2020-06-23
eroshn 2020-06-21
码墨 2020-06-16
NBkiller 2020-06-14
wyq 2020-11-11
TLROJE 2020-10-26