bash - 读取 -p 正则表达式验证
问题描述
我正在尝试添加正则表达式验证以读取 -p,例如域名。
当前代码:
read -p "Do Something": dosomething
echo working on $dosomething
感谢您根据验证电子邮件进行更新,我试图弄清楚是否可以将正则表达式验证应用于read -p
.
解决方案
使用循环:
email=""
until [[ $email =~ $regex ]] ; do
read -p 'Enter your email: ' email
done
正则表达式
(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])
不幸的是, EmailRegex.com上显示的与bash 不兼容。
推荐阅读
- javascript - 淡入 css 延迟
- javascript - UInt8Array 构造函数在 nodejs 中不使用缓冲区
- python - 将不同的东西分配给由类制成的对象的最有效方法?
- c# - 使用 lambda 表达式计算表中的行数
- vue.js - Vue 3 和 webpack 5 - 错误:“模块属性已从依赖项中删除”
- r - 如何省略负数的条目?
- javascript - Vue 组件不会使用 getter 数据重新加载(非响应式)
- android - 如何在 AndroidManifest.xml 中为 Android Deeplinking 注入主机和架构
- java - 索引大文本文件的最快方法
- javascript - CSS 更改时如何在不重新加载的情况下更新 JavaScript?