| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 509 人关注过本帖, 1 人收藏
标题:求一个字符匹配问题
只看楼主 加入收藏
lqshlwa
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2011-12-8
结帖率:100%
收藏(1)
 问题点数:0 回复次数:4 
求一个字符匹配问题
string card1="\\d{6,8}";
            a1: Console.WriteLine("请输入数字!");
            string card = Console.ReadLine();
            while (card1 != card)
            {
                Console.WriteLine("请重新输数字!");
                goto a1;

我怎么每次输入相应的数字都会进入循环啊!
把"\\d{6,8}"改成"2"这些的数字就不会,
求帮助啊!
2012-01-12 21:33
guming
Rank: 4
等 级:业余侠客
威 望:5
帖 子:329
专家分:277
注 册:2006-11-9
收藏
得分:0 
while (card1 != card)这样是两个字符串的直接比较,并不是正则表达式的验证,可以使用Regex类
            string reg="\\d{6,8}";
            Regex regex = new Regex(reg);
            while(!regex.Match(card).Success)
            {
                Console.WriteLine("请重新输数字!");
                goto a1;
             }

不想停留。。。
2012-01-12 23:01
serious
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:81
专家分:497
注 册:2009-8-18
收藏
得分:0 
你也可以用“RegexIsMatch”。
而且,你不应该用“goto”语句。
因此:
程序代码:
string card1="\\d{6,8}";
string card = null;
do
{
    Console.WriteLine("请输入数字!");

    card = Console.ReadLine();

    if (Regex.IsMatch(card, card1))
    {
        break;
    }

    Console.WriteLine("请重新输数字!");
}
while (true);
2012-01-13 08:04
lqshlwa
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2011-12-8
收藏
得分:0 
回复 3楼 serious
怎么还是一样的?在输入数字的时候后会显示输入不正确!然后返回输入那里。
这要怎么弄????
2012-01-13 10:59
lqshlwa
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2011-12-8
收藏
得分:0 
非常感谢,已经能够正常运行了。
2012-01-13 11:38
快速回复:求一个字符匹配问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032508 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved