哈哈,原来模式匹配就是一个 strstr(string, str);

原创 2006年05月18日 23:15:00

Example

/* STRSTR.C */

#include <string.h>
#include <stdio.h>

char str[] =    "lazy";
char string[] = "The quick brown dog jumps over the lazy fox";
char fmt1[] =   "         1         2         3         4         5";
char fmt2[] =   "12345678901234567890123456789012345678901234567890";

void main( void )
{
   char *pdest;
   int  result;
   printf( "String to be searched:/n/t%s/n", string );
   printf( "/t%s/n/t%s/n/n", fmt1, fmt2 );
   pdest = strstr( string, str );
   result = pdest - string + 1;
   if( pdest != NULL )
      printf( "%s found at position %d/n/n", str, result );
   else
      printf( "%s not found/n", str );
}

Output

String to be searched:
   The quick brown dog jumps over the lazy fox
            1         2         3         4         5
   12345678901234567890123456789012345678901234567890

lazy found at position 36
//在我们看到处理字符串的函数时, 就想起了microsoft的实现·
char * __cdecl strstr (
        const char * str1,
        const char * str2
        )
{
        char *cp = (char *) str1;
        char *s1, *s2;
        if ( !*str2 )
            return((char *)str1);
        while (*cp)
        {
                s1 = cp;
                s2 = (char *) str2;
                while ( *s1 && *s2 && !(*s1-*s2) )
                        s1++, s2++;
                if (!*s2)
                        return(cp);
                cp++;
        }
        return(NULL);
}

相关文章推荐

KMP 单模式匹配, 实现 strStr()

KMP: 单模式匹配, 判断s1是否是s2的子串 时间复杂度: O(m+n) *** 是将学习了很多地方的KMP算法,整理出来的笔记移到csdn博客上,因为没有记录原来参考的文章,所以不能提供引用的链...
  • at8008
  • at8008
  • 2013年12月12日 01:51
  • 383

JS正则表达式学习之路:(二)用于模式匹配的String方法

2.1 search方法 它的参数是一个正则表达式,返回第一个与之匹配的子串的起始位置,如果找不到匹配的子串,它将返回-1,比如下面的返回值是4:        "JavaScript"....

lua的string库与强大的模式匹配

lua原生解释器对字符串的处理能力是十分有限的,强大的字符串操作能力来自于string库。lua的string函数导出在string module中。在lua5.1,同时也作为string类型的成员方...
  • booirror
  • booirror
  • 2014年10月06日 20:58
  • 57042

lua string库模式匹配

print(string.find("12ab","%a%a"))print(string.find("12ab","(%a%a)"))print(string.find("12ab","[1-3](...

Lua string(字符串)和强大的模式匹配功能

string(字符串) 字符串由一对双引号或单引号来表示 string1="this is a string1" string2="this is string2" print(string1) p...

lua的string库与强大的模式匹配

ua原生解释器对字符串的处理能力是十分有限的,强大的字符串操作能力来自于string库。lua的string函数导出在string module中。在lua5.1,同时也作为string类型的成员方法...

lua string模式匹配

转载自:http://www.cnblogs.com/whiteyun/archive/2009/09/02/1541043.html 模式匹配函数 在string库中功能最强大的函数是:...

JavaScript:用于模式匹配的String方法

String的部分方法,在正则表达式中执行模式匹配、检索和替换操作。String支持四种利用正则表达式的方法: ① search( ): 该方法以正则表达式为参数,返回第一个与之匹配的子串的开始字...

js学习笔记:String中的模式匹配

String类型定义了几个用于在字符串中匹配模式的方法。match在字符串上调用这个方法,本质上与调用RegExp的exec()方法相同。 match()方法之接收一个参数:正则表达式或一个RegE...

【js学习笔记-062】用于模式匹配的String方法

本节只讨论与正则有关的方法和属性js的String支持4种使用正则表达式的方法。 search()  它的参数是一个正则表达式,返回第一个与之匹配的子串的起始位置,如果找不到匹配子串,它将返回-1....
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:哈哈,原来模式匹配就是一个 strstr(string, str);
举报原因:
原因补充:

(最多只允许输入30个字)