| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 342 人关注过本帖
标题:一个正则表达式的问题,请高手帮帮忙!
只看楼主 加入收藏
huliangmao
Rank: 2
等 级:论坛游民
帖 子:26
专家分:53
注 册:2010-11-17
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
一个正则表达式的问题,请高手帮帮忙!
#include <stdio.h>
#include <stdlib.h>

int main()
{
    char a[100],*p,b[100],*q;
    int n,m,k;
    p=a;
    q=b;
    scanf("%s",p);
    scanf("%s",q);
    m=strlen(q);
    if(q[0]=='^')
    {
        for(n=0;n<=m-1;n++)
        {
        if(q[n+1]!=p[n])
        {printf("lose");
        break;}
        else
        printf("hit.");
        }
    }
    if(q[m-1]=='$')
    {
        for(n=0;n<=m-1;n++)
        {
            if(q[n]!=p[n])
            {printf("lose");
            break;}
            else
            printf("hit");
        }
    }
    if(k>=0&&k<=m-1&&q[k-1]=='.')
    {
        for(n=0,n=k;n<=k-1,n<=m-1;n++)
        {
            if(q[n]!=p[n])
            {
                printf("lose");
                break;
            }
            else
            printf("hit");
        }
    }
}
这个程序的目的是要判断正则表达式,总有问题,高手帮忙改一下!谢了!
搜索更多相关主题的帖子: 正则表达式 
2010-11-26 16:31
五当家
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:2
帖 子:1112
专家分:3674
注 册:2010-10-20
收藏
得分:20 
#include <stdio.h>
#include<string.h>            //这里用#include<string.h>代替#include<stdlib.h>试试.
//#include <stdlib.h>

int main()
{
    char a[100],*p,b[100],*q;
    int n,m,k;
    p=a;
    q=b;
    scanf("%s",p);
    scanf("%s",q);
    m=strlen(q);
    if(q[0]=='^')
    {
        for(n=0;n<=m-1;n++)
        {
        if(q[n+1]!=p[n])
        {printf("lose");
        break;}
        else
        printf("hit.");
        }
    }
    if(q[m-1]=='$')
    {
        for(n=0;n<=m-1;n++)
        {
            if(q[n]!=p[n])
            {printf("lose");
            break;}
            else
            printf("hit");
        }
    }
    if(k>=0&&k<=m-1&&q[k-1]=='.')
    {
        for(n=0,n=k;n<=k-1,n<=m-1;n++)
        {
            if(q[n]!=p[n])
            {
                printf("lose");
                break;
            }
            else
            printf("hit");
        }
    }
}

经验积累中............
2010-11-26 17:21
huliangmao
Rank: 2
等 级:论坛游民
帖 子:26
专家分:53
注 册:2010-11-17
收藏
得分:0 
不行啊,你运行一下,他输出多个hit和一个lose
2010-11-26 17:28
huliangmao
Rank: 2
等 级:论坛游民
帖 子:26
专家分:53
注 册:2010-11-17
收藏
得分:0 
我想让他在我写的正则表达式正确时输出一个hit否则输出lose
2010-11-26 17:31
五当家
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:2
帖 子:1112
专家分:3674
注 册:2010-10-20
收藏
得分:0 
你这里的q[0],p[n+1],q[n]....之类的全是地址,应该用*q代替q[0],*(p+n-1)代替p[n+1],用*(q+n)代替q[n]....
还有其它的,我就不一一改了,你自己改一下运行看看.

经验积累中............
2010-11-28 10:25
快速回复:一个正则表达式的问题,请高手帮帮忙!
数据加载中...
 
   



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

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