正则表达式 #

一、基本语法 #

字符 说明
. 任意字符
* 零个或多个
+ 一个或多个
? 零个或一个
^ 行首
$ 行尾
[] 字符集
() 分组
|

二、字符类 #

表达式 说明
[abc] a或b或c
[a-z] 小写字母
[A-Z] 大写字母
[0-9] 数字
[[:alnum:]] 字母数字
[[:alpha:]] 字母
[[:digit:]] 数字
[[:space:]] 空白字符

三、在Shell中使用 #

bash
#!/bin/bash

# 使用 =~ 匹配
str="hello123"
if [[ "$str" =~ ^[a-z]+[0-9]+$ ]]; then
    echo "匹配成功"
fi

# 使用grep
echo "$str" | grep -E "^[a-z]+[0-9]+$"

# 使用sed
echo "$str" | sed -E 's/[0-9]+/NUM/'

四、实战示例 #

bash
#!/bin/bash

# 验证邮箱
is_email() {
    [[ "$1" =~ ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$ ]]
}

# 验证手机号
is_phone() {
    [[ "$1" =~ ^1[3-9][0-9]{9}$ ]]
}

# 验证IP地址
is_ip() {
    [[ "$1" =~ ^([0-9]{1,3}\.){3}[0-9]{1,3}$ ]]
}

下一步 #

你已经掌握了正则表达式,接下来让我们学习 进程管理

最后更新:2026-03-27