String:
[email protected] /cdn-cgi/l/email-protection
检查:
@
.com
My code
if [[ $word =~ "@" ]]
then
if [[ $word =~ ".com" || $word =~ ".ca" ]]
我的问题
[email protected] /cdn-cgi/l/email-protection
上面的例子通过了,这不是我想要的。如何检查“@”和“.com”之间的字符(1 个或多个)?
您可以使用非常非常基本的正则表达式:
[[ $var =~ ^[a-z]+@[a-z]+\.[a-z]+$ ]]
它查找的字符串与如下所示完全相同:
at least one a-z char
@
at least one a-z char
.
at least one a-z char
它可以变得像你想要的那样复杂,例如使用 bash 脚本检查电子邮件正则表达式 https://stackoverflow.com/a/2138832/1983854.
查看实际操作
$ var="[email protected] /cdn-cgi/l/email-protection"
$ [[ $var =~ ^[a-z]+@[a-z]+\.[a-z]+$ ]] && echo "kind of valid email"
kind of valid email
$ var="[email protected] /cdn-cgi/l/email-protection"
$ [[ $var =~ ^[a-z]+@[a-z]+\.[a-z]+$ ]] && echo "kind of valid email"
$
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)