标题:求一个字符匹配问题
只看楼主
lqshlwa
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2011-12-8
结帖率:100%
 问题点数: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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-359589-1-1.html




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

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