码迷,mamicode.com
首页 > 系统相关 > 详细

shell中的正则表达式, and和or写法, vim中的查找和替换用法

时间:2019-12-27 22:03:36      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:正则表达   字符   编辑器   额外   数字   写法   查找   第一个   python   

1. shell中的正则和原生的正则有些许出入, 以下列举了shell中的正则规则:

    技术图片

  图中\number 代表前面对应()位置的内容, 类似于python中的命名分组, \对应数字可直接引用括号中内容

 

2. shell中的正则使用举例:

 双括号的额外含义, 其内可使用正则表达式, 并不表示正则必须在双括号中才能执行;

 [[ 10 =~ ^[0-9]+$ ]] 用于shell中判定是否是数字, 注意正则处不要加引号, 加引号表示字符串匹配; 取反在10前加叹号即可;
 shell中这些命令都是根据正则规则来解析的, 有vi, grep, sed, awk, python, vim;

 

3. vim中使用正则进行查找与替换:

 vim编辑器中的替换, %表示全文, 即第一行到最后一行. s表示替换, 完整命令如下:
 : %s/xx/XX/ # 表示把小写xx换为大写的, 只替换第一个, 无论第一个是否是单纯的xx或包含其他字符的
 : %s/ss/SS/g # 替换全局, 所有包含ss的都替换, 无论ss是否是单独的.
 : %s/\<ss\>/SS/g # \< \>用于限定词首和词尾, 限定ss两边不能有字母, 标点除外
 正则中严格区分大小写, shell中匹配不会严格区分

 

4. shell中的and和or用法举例:

 [ 1 -lt 2 -a 5 -gt 10 ]  [ 1 -lt 2 -o 5 -gt 10 ]

 [[ 1 -lt 2 && 5 -gt 10 ]]    [[ 1 -lt 2 || 5 -gt 10 ]]            # 等价于上面的写法

shell中的正则表达式, and和or写法, vim中的查找和替换用法

标签:正则表达   字符   编辑器   额外   数字   写法   查找   第一个   python   

原文地址:https://www.cnblogs.com/quzq/p/12109587.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!