shell脚本----正则表达式
文章目录
- 一、什么是正则表达式
- 二、正则表达式的使用
一、什么是正则表达式
正则表达式是由普通字符与元字符组成:
普通字符 包括大小写字母、数字、标点符号及一些其他符号。
元字符 是指在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符或表达式)在目标对象中的出现模式。
二、正则表达式的使用
适合awk,sed,grep,egrep等文本工具使用
常用选项:
选项 | 作用 |
---|---|
\ |
转义字符,用于取消特殊符号的含义,如:\!、\n、\$
|
^ |
匹配字符串开始的位置,如:^a、^the、^#、^[a-z]
|
$ |
匹配字符串结束的位置,如:word$、^$匹配空行
|
. | 匹配除\n之外的任意的一个字符,如:go.d、g…d |
* | 匹配前面子表达式0次或多次,如:goo*d、go.*d |
[list] | 匹配list列表中的一个字符(列表中只要有一个符合即可) |
[^list] | 匹配任意非list列表中的一个字符 |
\ {n\ } | 匹配前面的子表达式n次 |
\ {n,\ } | 匹配前面的子表达式不少于n次 |
\ {n,m\ } | 匹配前面的子表达式n到m次(m必须大于n,不然会报错) |
注意:egrep、 awk使用{n}、{n,}、{n, m}匹配时 “{ }” 前不用加" \ "
选项 | 作用 |
---|---|
\n | 拥有换行的作用 |
\t | 转化为制表符(能让输出结果呈现表格的格式) |
\w(小写) | 匹配包括下划线的任何单词字符 |
\W(大写) | 匹配任何非单词字符。等通于"[^A-Za-z0-9_]" |
\r | 转换后是回车符 |
\d | 匹配一个数字字符 |
\D | 匹配一个非数字字符。等价于[^0-9] |
\s(小写) | 空白符 |
\S(大写) | 非空白符 |
扩展正则表达式元字符:(支持的工具:egrep、awk)
+:匹配前面子表达式1次以上,如:go+d,将至少匹配一个o,god、good、goood
?:匹配前面子表达式0次或1次,如:go?d将匹配gd、god
():将括号中的字符串作为一个整体,如:g(oo)+d,将匹配oo整体1次以上,如good、goood等
|:以或的方式匹配字符串,如:g(oo|al)d,将匹配good或gald
示例一:
区号025开头,号码与区号间可以是空格、-、没有,号码必须是5或者8开头的八位数
示例二:
正则表达式匹配E-mail地址
shell脚本----正则表达式相关推荐
- Shell 脚本正则表达式(一)
Shell 脚本正则表达式(一) 一.正则表达式概述 1.正则表达式定义 2.正则表达式用途 二.基础正则表达式 1.基础正则表达式常见元字符 2.基础正则表达式示例 三.扩展正则表达式 1.扩展正则 ...
- shell脚本——正则表达式(包含grep详细介绍及应用)
正则表达式 正则表达式的作用 前言案例:使用^和$判断用户输入的是否是数字 基础正则表达式元字符 基础正则表达式元字符案例 扩展正则表达式元字符 扩展正则表达式元字符案例 正则表达式元字符综合案例 三 ...
- Shell 脚本--------正则表达式的认知
正则表达式 正则表达式分为基础正则表达式与扩展正则表达式,它不是一个工具程序,而是一个字符串处理的标准依据,是使用单个字符串搜索.匹配一系列符合某个语法规则的字符串. 正则表达式的定义 正则表达式又称 ...
- shell脚本之正则表达式
shell脚本正则表达式 一.正则表达 1.1 正则表达式定义 1.1.1正则表达式组成 1.1.2 作用 1.2 基础正则表达式元字符 二.正则表达式相关命令 2.1 grep命令 2.2 cut ...
- shell脚本详解(七)——正则表达式、sort、uniq、tr
shell脚本详解(七)--正则表达式.sort.uniq.tr 一.排序命令--sort 1.格式 2.常用选项 3.示例 二.去除重复行操作命令--uniq 1.格式 2.常用选项 3.示例 三. ...
- Shell脚本之正则表达式以及文本编辑器
目录 一.正则表达式 1.定义 2.元字符 元字符使用(这里举例为常用的元字符) 3.表示次数 (1)匹配字符 (2)查看子网掩码信息 4. 位置锚定 5.扩展正则表达式 (1)表示次数 (2)表示分 ...
- 详解Shell脚本:正则表达式
正则表达式的概念 正则表达式:使用单个字符串来描述.匹配一系列符合某个句法规则的字符串 由普通字符与特殊字符组成,一般用在脚本编程.文本编辑器中,如php.python.she等,简写为regex.r ...
- 七:Shell脚本:正则表达式与文本处理器三剑客grep,egrep, sed,awk
正则表达式定义 正则表达式,又称正规表达式.常规表达式 使用字符串来描述.匹配一系列符合某个规则的字符串 ●正则表达式组成 ◆普通字符 大小写字母.数字.标点符号及一些其他符号 ◆元字符 在正则表达式 ...
- shell脚本实操学习之函数、正则表达式
shell脚本实操学习之函数.正则表达式 shell函数 函数介绍 函数语法 函数应用 正则表达式 正则表达式介绍 特殊字符 POSIX字符 shell函数 函数介绍 在写代码的时候,我们很多人习惯从 ...
最新文章
- 发布新模板-画情画心
- mysql 图形化工具
- Python学习—pyhton中的进程
- 白话Elasticsearch08-深度探秘搜索技术之基于boost的细粒度搜索条件权重控制
- websocket与ajax的区别浅析
- Android 系统(72)---Android系统增加字体库及修改系统默认字体
- (Deep learning)深度卷积网络实战——第一部分
- C++冒泡排序(包含初级、正宗及改进三种实现)
- 算法笔记_面试题_18.动态规划_模板及示例十几道(上)
- ❤100款程序员爱情❤520/表白/七夕情人节/求婚❤专用html5+css3+js 炫酷动画网页的源代码(建议收藏)
- FreeRTOS消息队列详解第一讲(全网最全)——消息队列概述
- Windows 7声卡驱动一键修复精灵3.0完美版(2009年11月9日发布)
- 终于!这个速算题自动批改程序被我给做出来了!
- 计算机系微电子专业大学排名,2021年微电子科学与工程专业大学排名
- 《平凡的世界》文摘----少安写给她妹妹的那封信...
- Flutter技术与实战(4)
- 【C++代码】约瑟夫环问题:0,1,……,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。
- 电路实验一阶电路误差分析_常见滤波电路分析技巧
- 混合竞价模式下,开发者如何制定价格策略?
- 点击BootStrap下拉框无反应
热门文章
- mlcc应用范围_什么是独石电容,MLCC电容有哪些特点、分类、作用以及应用
- 古典插画风格七夕情人节PPT模板
- Vue+Openlayer封装拾取坐标组件-LjOlPickCoordinate
- vue 画布插件_一个Vue.js插件,用于使用EaselJS控制HTML5画布
- Android没有报错,运行模拟器,提示停止运行,App根本打不开,下面是日志,烦请大佬们看看呐
- 企业移动应用平台---诺基亚S60模拟器下的测试
- 效果:mask-image 哔哩哔哩弹幕不遮挡人物
- 机器学习——聚类之k近邻算法及python使用
- 【WebLogic】记录一次WebLogic进程无法启动的故障排查过程
- angular使用bootstrap方法手动启动