Shell三剑客:正则表达式简介

前言

一、名称解释

正则表达式(regular expression,RE)是一种字符模式,用于在查找过程中匹配指定的字符。在大多数程序里,正则表达式都被置于两个正斜杠之间;例如/l[oO]ve/就是由正斜杠界定的正则表达式,它将匹配被查找的行中任何位置出现的相同模式。在正则表达式中,元字符是最重要的概念,

二、工具

被vim、sed、awk、grep调用

三、场景

mysql、oracle、php、python、apache、nginx...需要正则

五、示例

需求:匹配数组的脚本:用户输入创建账号的数量

语法:[[ ^[0-9]+$ ]]

演示:

cs 复制代码
[root@localhost ~]# vim reg.sh    #脚本编辑
#!/bin/bash
#read -p "请输入数字才退出:" num

while :
do

read -p "请输入数字才退出:" num

if [[ $num =~ ^[0-9]+$ ]]
        then
                echo "谢谢,再见"
                exit 99

        else
                echo "重新输入"

fi
done

[root@localhost ~]# bash reg.sh     #执行脚本
请输入数字才退出:^H
重新输入
请输入数字才退出:jdf
重新输入
请输入数字才退出:df
重新输入
请输入数字才退出:3
谢谢,再见
相关推荐
brucelee18627 分钟前
Claude Code 安装教程(Windows / Linux / macOS)
linux·windows·macos
jsons11 小时前
给每台虚拟机设置独立控制台密码
linux·运维·服务器
嵌入式×边缘AI:打怪升级日志1 小时前
全志T113 Tina-SDK 配套工具链开发应用(从Makefile到CMake再到Autotools)
linux
嵌入式×边缘AI:打怪升级日志1 小时前
全志T113嵌入式Linux开发环境搭建(VMware + Ubuntu 18.04)详细步骤
linux·ubuntu
云栖梦泽2 小时前
Linux内核与驱动:14.SPI子系统
linux·运维·服务器·c++
yipiantian3 小时前
在Claude项目中实现跨目录访问Skills
linux·运维·服务器
cen__y3 小时前
Linux07(信号01)
linux·运维·服务器·c语言·开发语言
MT5开发3 小时前
Linux安装MariaDB
linux·运维·mariadb
Lentou4 小时前
日志轮询策略
linux·服务器·网络
Yoyo25年秋招冲冲冲4 小时前
【亲测可用】ubuntu系统下安装Openclaw+配置飞书
linux·ubuntu·ai·飞书·openclaw