一.前述
Linux中正则匹配查找比较常用,所以分享一篇关于正则匹配和Grep结合的文章。
二.匹配规则
匹配操作符:
转义字符
. 匹配任意单个字符
[1249a],[^12],[a-k] 字符序列单字符占位
^ 行首
$ 行尾
<,>:<abc 单词首尾边界
| 连接操作符
(,) 选择操作符
反向引用
重复操作符:
? 匹配0到1次。
* 匹配0到多次。
+ 匹配1到多次。
{n} 匹配n次。
{n,} 匹配n到多次。
{n,m} 匹配n到m次。
与扩展正则表达式的区别:grep basic
?, +, {, |, (, and )
匹配任意字符 .*
三。示例
oxx12121212ooxx
ooxx 12121212
oox 12121212
1212 ooxx 1212
oo3xx
oo4xx
ooWxx
oomxx
$ooxx
oo1234xx
ooxyzxx
查询有ooxx单词的行
grep "<ooxx>" test.txt
查询以ooxx开头的单词
查询有数字的行
grep "[0-9]" test.txt;
grep "[34]" test.txt;
ps:【】是一个字符序列,占位符。
查询有4个数字的行
grep "[0-9]{4}" test.txt
ps:重复操作符,自定义的需要转义。
查询有4个数字的行,但前后都没有数字的行
grep "[^0-9][0-9]{4}[^0-9]" test.txt
ps:^是取反的意思。