Linux篇---Grep和正则匹配

一.前述

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 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:^是取反的意思。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大闲人柴毛毛

Redis源码分析(四)——Redis数据结构-整数集合

1. 整数集合特点 有序:集合中所有值按照从小到大顺序排列。 不重复 可以存储int16_t、int32_t、int64_t三种类型的整数 1. 数据结构 t...

3877
来自专栏Python小屋

Python运算符is与==的区别

在Python中,关系运算符==用来测试两个对象的值是否相等,而同一性测试运算符is用来测试两个对象是否是同一个对象,如果两个变量是同一个对象,那么它们的内存地...

2334
来自专栏java、Spring、技术分享

java字节码

  我们都知道Java字节码是JVM所使用的指令集。java字节码可以分为如下几类:

3482
来自专栏C/C++基础

C++11 原生字符串

原生字符串(Raw String)指不进行转义“所见即所得”的字符串。很多编程语言早已支持原生字符串,如C#、Python、Shell等。C++作为一门高级程序...

1772
来自专栏JavaEdge

JavaScript 的 this 小结纯粹的函数调用作为对象方法的调用作为构造函数调用apply 调用

函数的不同使用场合,this有不同的值。 总的来说,this就是函数运行时所在的环境对象。 下面分情况,详细讨论

862
来自专栏史上最简单的Spring Cloud教程

Java 代理模式

什么是代理 代理是一种设计模式,它的核心思想,是将对目标的访问转移到代理对象上。这样做的好处就是,目标对象在不改变代码的情况下,可以通过代理对象加一些额外的功能...

2148
来自专栏用户2442861的专栏

C++ STL空间配置源码分析以及实现二

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/d...

962
来自专栏领域驱动设计DDD实战进阶

04-TypeScript中的方法新功能(上)

在TypeScript中,提供了一些函数的新功能,能够简化JavaScript中的一些比较复杂代码才能实现的一些能力。 在C#后端语言中,能够对方法传递的参数指...

2824
来自专栏Hongten

java_自由块(静态块和非静态块)

2122
来自专栏我是业余自学C/C++的

redis_3.0.7_sds.c_sdsIncrLen()

1182

扫码关注云+社区

领取腾讯云代金券