一.前述
Linux中正则匹配查找比较常用,所以分享一篇关于正则匹配和Grep结合的文章。
二.匹配规则
匹配操作符:
\ 转义字符
. 匹配任意单个字符[1249a],[^12],[a-k] 字符序列单字符占位^ 行首$ 行尾\<,\>:\<abc 单词首尾边界| 连接操作符(,) 选择操作符\n 反向引用重复操作符:
? 匹配0到1次。* 匹配0到多次。+ 匹配1到多次。{n} 匹配n次。{n,} 匹配n到多次。{n,m} 匹配n到m次。与扩展正则表达式的区别:grep basic\?, \+, \{, \|, \(, and \)匹配任意字符 .*三。示例oxx12121212ooxx
ooxx 12121212oox 121212121212 ooxx 1212oo3xxoo4xxooWxxoomxx$ooxxoo1234xxooxyzxx查询有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:^是取反的意思。