正则表达式重温
Posted 芬乐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式重温相关的知识,希望对你有一定的参考价值。
bash Shell本身并不支持正则表达式,使用正则表达式的是Shell命令和工具,如grep,sed,awk等。但是bash Shell可以使用正则表达式中的一些元字符实现通配。
一、基本正则表达式元字符
1. “*” 表示重复该字符前边字符0次或多次。
2. “.” 表示任意字符.
3. “^” 表示该字符后边的字符是行首。
4. “$” 表示该字符前边的字符是行尾。
5. “[]”
- [a-z] 表示小写字母a-z
- [0-9] 表示数字0-9
- 若 “^” 在框里边,那么久表示非。
- [^a-c] 匹配不在a-c范围内的所有字符。
6. “\” 转义字符
7. “\<\>” 精确匹配
- \<the\> 表示匹配the单词,但是不包阔含有the的单词,如they,there。
8. “\{\}” 指定前边字符重复的次数。
- \{n\} 匹配前面字符出项 n 次。
- \{n,\} 匹配前边字符最少出现 n 次。
- \{n,m\} 匹配前边字符出现 n-m 次。
二、正则表达式的扩展
1. “?” 匹配?前边字符 0 次或 1 次。
2. “+” 匹配前边字符1次或多次(最少也要1次)
3. “()”和“|” 通常两字符结合使用。表示一组可选的字符的集合。
- sjx(a|b|c)zl 只要含有a,b,c任意一个都可以匹配到。
- 其实()很少用,“[]”可以完全取代“()”,如: sjx(a|b|c)al和sjx[abc]zl就等价。
- “|”也可以用在在多个正则表达式之间。
三、通配
最常用的通配符包括正则表达式元字符,与正则表达式中的表示的意义不完全一致,如;
- “*”表示任意位的任意字符,可以是多个任意字符。
- “?”表示1个任意字符。
- “^”表示取反。
四、grep命令
以上是关于正则表达式重温的主要内容,如果未能解决你的问题,请参考以下文章