当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 7 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : bash如何判断输入字符串是否符合正则表达式
帖子发表于 : 2009-10-02 10:33 

注册: 2008-12-01 16:31
帖子: 7
送出感谢: 0 次
接收感谢: 0 次
比如,现在我要判断我输入的邮箱是否合法
read email
if [[ "$email" = "/[a-zA-Z]*@163.com\>/" ]]
then
echo "match"
else
echo "not match"
fi

这样不知道哪里有问题,请高手给个好点的判断方法,谢谢


页首
 用户资料  
 
2 楼 
 文章标题 : Re: bash如何判断输入字符串是否符合正则表达式
帖子发表于 : 2009-10-02 10:38 
头像

注册: 2007-12-25 12:51
帖子: 231
送出感谢: 0 次
接收感谢: 0 次
用 if [[ $email =~ /正则表达式/ ]]
双引号可以省了。

补充一句:楼主的正则有问题 :em06


页首
 用户资料  
 
3 楼 
 文章标题 : Re: bash如何判断输入字符串是否符合正则表达式
帖子发表于 : 2009-10-02 10:54 

注册: 2008-12-01 16:31
帖子: 7
送出感谢: 0 次
接收感谢: 0 次
c\nc 写道:
用 if [[ $email =~ /正则表达式/ ]]
双引号可以省了。

补充一句:楼主的正则有问题 :em06


请问,有什么问题呢?
现在我改成这样:
1 #! /bin/sh
2
3 read email
4 if [[ $email = ~/[a-zA-Z]*\@163.com/ ]]
5 then
6 echo "match"
7 else
8 echo "not match"
9 fi

输入:
slowant@163.com
得到not match


页首
 用户资料  
 
4 楼 
 文章标题 : Re: bash如何判断输入字符串是否符合正则表达式
帖子发表于 : 2009-10-02 14:25 
头像

注册: 2007-12-25 12:51
帖子: 231
送出感谢: 0 次
接收感谢: 0 次
不好意思,我也短路了,我给那个不是对的,这个是:
代码:
[[ $email =~ ^[a-zA-Z]+@163\.com$ ]]


页首
 用户资料  
 
5 楼 
 文章标题 : Re: bash如何判断输入字符串是否符合正则表达式
帖子发表于 : 2009-11-15 13:57 

注册: 2008-10-31 22:12
帖子: 6546
系统: 践兔
送出感谢: 18
接收感谢: 25
代码:
[a-zA-Z0-9_+\-]+@[a-zA-z0-9\-]+\.[a-zA-z]


_________________
代码:
] ls -ld //


页首
 用户资料  
 
6 楼 
 文章标题 : Re: bash如何判断输入字符串是否符合正则表达式
帖子发表于 : 2009-11-15 20:27 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
163的邮箱,不能数字开头?
为什么要+
而不是列举全部可用字符


_________________
● 鸣学


页首
 用户资料  
 
7 楼 
 文章标题 : Re: bash如何判断输入字符串是否符合正则表达式
帖子发表于 : 2009-11-15 20:47 
头像

注册: 2008-03-25 15:49
帖子: 25876
地址: 谁知道?
送出感谢: 8
接收感谢: 10
神抵又现身了。。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 7 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译