Linux 正则
一、引用自:https://www.cnblogs.com/chensiqiqi/p/6285060.html
二、grep示例
grep -i 忽略大小写
grep -w 精准匹配
grep -E 匹配正则
^(以什么开头),.*(任意字符,但不包含空格)
三、正则表达式分类
1、基本正则表达式(BRE , basic regular expression)
2、高级功能:扩展正则表达式 (ERE , extended regular expression)
3、BRE和ERE的区别仅仅是元字符的不同:
a、基本正则表达式只承认的元字符有^$.[]*其它字符识别为普通字符:\(\)
b、扩展正则表达式则添加了() {} ? + | 等
c、只有在用反斜杠""进行转义的情况下,字符() {} 才会在基本正则表达式被当做元字符处理,而扩展正则表达式中,任何元符号前面加上反斜杠反而会使其被当做普通字符来处理。
四、如何区分通配符和正则表达式
1、不需要思考的判断方法:在三剑客awk,sed,grep,egrep都是正则,其它都是通配符。
五、基础正则表达式
1、^ : ^word搜索以word开头的内容
grep "^m" aaa.test.txt
2、$ : word$搜索以word结尾的内容
grep "m$" aaa.txt
3、^$ :表示空行,不是空格
grep -n "^$" aaa.txt
4、. : 代表且只能代表任意一个字符(不匹配空行)
grep -n ".m" aaa.txt
5、\ :转义字符,让有特殊含义的字符脱掉马甲现出原形,如 \. 只表示小数点
grep -n "\.c" aaa.txt
6、* : 重复之前的字符或文本0个或多个,之前的文本或字符连续0次或多次
grep -n "q*" aaa.txt
7、.* : 任意多个字符
grep -n ".*" aaa.txt
8、^.* : 以任意多个字符串开头,.*尽可能多,有多少算多少,贪婪性
grep -n "^.*o" aaa.txt
9、括号表达式 : [abc][0-9][\.,/] : 匹配字符集合内的任意一个字符a 或 b 或 c : [a-z] 匹配所有小写字母;表示一个整体,内藏无限可能;[abc]找a或b或c 也可以写成[a-c]
grep -n "^[ade]" aaa.txt
grep -n "[abc]" aaa.txt
10、[^abc] 匹配不包含^后的任意字符a或b或c,是对[abc]的取反,且与^含义不同,若要匹配^字符,则^不能放在[]里的最前面,[ab^c]
grep -n "[^abc]" aaa.txt
grep -n "[ab^c]" aaa.txt
11、a\{n,m\} 重复前面a字符n到m次
grep "d\{2,3\}" aaa.txt
六、扩展正则表达式ERE
1、+ : 重复前一个字符一次或一次以上,前一个字符连续一个或多个,把连续的文本/字符取出

grep -E 等价于 egrep
2、? : 重复前面一个字符0次或1次(.是有且只有1个)

3、管道符 表示或者 同时过滤多个字符
netstat -anpt | grep -E "25|631"
4、() 分组过滤被括起来的东西表示一个整体(一个字符),后向引用

表示aa 或者 ab 或者ac
七、基本正则和扩展正则区别
基本正则BRE 扩展正则ERE
\? ?
\+ +
\{\} {}
\(\) ()
\
八、元字符
1、\b : 单词边界。 \bcool\b,不匹配coolant
2、\B :非单词边界。cool\B匹配coolant不匹配cool
3、\d :单个数字字符 b\db匹配b2b,不匹配bcb
4、\D :单个非数字字符 b\Db匹配bcb不匹配b2b
5、\w :单个单词字符(字母,数字与_) \w匹配1或a,不匹配&
6、\W :单个非单词字符 \W匹配&,不匹配1或a
7、\n :换行符 \n匹配一个新行
8、\s :单个空白字符 x\sx匹配x x,不匹配xx
9、\S :单个非空白字符 x\Sx匹配xkx,不匹配x x
10、\r :回车 ,\r匹配回车
11、\t : 横向制表符,\t匹配一个横向制表符
12、\v :垂直制表符,\v匹配一个垂直制表符
13、\f :换页符,\f匹配一个换页符
Linux 正则的更多相关文章
- Linux正则与文本处理工具(10)
正则表达式 (Regular Expression, RE, 或称为常规表达式)是通过一些特殊字符的排列,用于『查找/替换/删除』一行或多行文字或字符串,简单的说,正则表达式就是用在字串的处理上面的一 ...
- [svc]linux正则实战(grep/sed/awk)
企业实战: 过滤ip 过滤出第二行的 192.168.2.11. eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 ine ...
- Linux正则和grep命令
设置命令的默认参数和别名 每次都要输入 ls -l ,烦不烦,我想用 ll 来表示 ls -l, 可以,只要在 ~/.bashrc 中加上 alias ll='ls -l' ,然后运行 source ...
- 最全的三剑客和linux正则符号讲解
第2章 linux符号系列与三剑客 194 2.1 特殊符号系列 194 2.1.1 普通符号系列 194 2.1.2 引号符号系列 196 2.1.3 定向符号 197 ...
- [svc]linux正则及grep常用手法
正则测试 可以用sublime等工具快速的检测正则是否合适 china : 匹配此行中任意位置有china字符的行 ^china : 匹配此以china开关的行 china$ : 匹配以china结尾 ...
- linux正则
正则表达式 分两类: 基本正则表达式:BRE 扩展正则表达式:ERE :grep -E, egrep 正则表达式引擎: 采用不同算法,检查处理正则表达式的软件模块 PCRE(Perl ...
- linux正则sed实战案例详解
目录 1. 将nginx.conf中的注释全部去掉 2. 将nginx.com中每一行之前增加注释 3.要求一键修改本机的ip 4.将/etc/passwd中的root修改成ROOT 1. 将ngin ...
- linux正则转换csv文件
- Linux基础介绍【第四篇】
Linux文件和目录的属性及权限 命令: [root@oldboy ~]# ls -lhi total 40K 24973 -rw-------. 1 root root 1.1K Dec 10 16 ...
随机推荐
- oracle 配置本地Net服务
1.查看当前数据库名字(前提是已经创建了),先前忘记数据库实例名乱输,然后创建一直失败 开始,程序,Oracle_xxxx_home1 ,配置和移植工具, Database Configuration ...
- 【题解】 [NOI2009]变换序列 (二分图匹配)
懒得复制,戳我戳我 Solution: 这个题面出的很毒瘤,读懂了其实是个板子题qwq 题面意思:有个\(0\)至\(N-1\)的数列是由另一个数列通过加减得到的,相当于将\(A_i\)变成\(i\) ...
- 《Migrating to Cloud-Native Application Architectures》学习笔记之Chapter 2. Changes Needed 原
Cultural Change 文化变革 A great deal of the changes necessary for enterprise IT shops to adopt cloud-na ...
- 2017年11月GitHub上最热门的Java项目出炉
2017年11月GitHub上最热门的Java项目出炉~ 一起来看看这些项目你使用过哪些呢? 1分布式 RPC 服务框架 dubbohttps://github.com/alibaba/dubbo S ...
- HGOI20180815 (NOIP 提高组模拟赛 day2)
Day 2 rank 11 100+35+30=165 本题是一道数论题,求ax+by=c的正整数对(x,y) x>=0并且y>=0 先说下gcd: 求a,b公约数gcd(a,b) 如gc ...
- Redis缓存与springboot集成
注意点:
- Redis与memecache的区别
转载连接: https://www.biaodianfu.com/redis-vs-memcached.html Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储 ...
- xen list_domains stat 解析
XenServer中可以使用list_domains命令来查看所有VM以及Dom0的运行状态以及简单的资源消耗,如下: [root@xenserver ~]# list_domains id | uu ...
- 关于swiper的tab(选项卡)中设置了autoHeight没有效果解决
autoHeight属性使用看官网的示例:https://www.swiper.com.cn/api/parameters/294.html swiper的选项卡结构查看:https://www.sw ...
- Java访问权限控制
访问权限控制 java提供了访问权限修饰词,以供类库开发人员向客户端程序员指明哪些是可用的,哪些是不可用的.访问权限控制的等级,从最大权限到最小权限依次是:public.prote ...