语法如下:
1、定位符:
定位符 | 说明 | 示例 | 匹配结果 |
^ | 匹配字符串开始的位置,即以该字符串开头的数据 | ^Hello | Hello Wrold |
$ | 匹配字符串结尾的位置,即以该字符串结尾的数据 | Wrold$ | Hello Wrold |
2、选择符
若查找条件有多个,只要满足其中之一就能成立,则可以使用“ | ”符号。该字符可以理解为或的意思,示例如下:
grep -P --color 'Linux|UNIX'
Linux is Good,UNIX is Good!
Linux is Good,UNIX is Good!
3、字符范围
示例 | 说明 | 匹配结果 |
[abc] | 匹配字符a、b、c | apple,cherry,banada |
[^abc] | 匹配除a、b、c以外的字符 | apple,cherry,banada |
[a-z] | 匹配字母a~z范围内的字符 | 1a2A34xyz56 |
4 、点字符和限定符
字符 | 说明 | 示例 | 结果 |
. | 匹配任意字符 | s.t | 可匹配sat,set,stt等 |
? | 匹配前面的字符零次或一次 | colou?r | 可匹配到colour或color |
+ | 匹配前边的字符一次或多次 | go+gle | 可匹配到从gogle到goo……le |
* | 匹配前边的字符零次或多次 | go*gle | 可匹配到从ggle到goo……le |
{n} | 匹配前边的字符n次 | go{2}gle | 只能匹配到google |
{n,} | 匹配前边的字符最少n次 | go{2,}gle | 可匹配到从google到goo……gle |
{n,m} | 匹配前边的字符最少n次,最多m次 | employe{0,2} | 可匹配到employ,employe和employee |
5、小括号
示例 | 说明 | 匹配结果 |
thir|fourth | 改变作用范围前 | thirth fourth |
(thir|four)th | 改变作用范围后 | thirth fourth |
示例 | 说明 | 匹配结果 |
app{2} | 分组前 | appppappapp |
(app){2} | 分组后 | appppappapp |