字符串匹配

Posted woshare

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串匹配相关的知识,希望对你有一定的参考价值。

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<string.h>
 4 
 5 int Index_BF(const char *dst,const char *src,int pos)
 6 {
 7     int i=pos,j=0;
 8     while(dst[i+j]!=\0&&src[j]!=\0)
 9     {
10         if(dst[i+j]==src[j])
11         {
12 
13             j++;
14         }
15         else
16         {
17             i++;
18             j=0;
19         }
20 
21     }
22     if(src[j]==\0)
23         return i;
24     else 
25         return -1;
26 
27 }
28 
29 char *func()
30 {
31     const char *dst="aaacaaa";
32     const char *src="aca";
33     const char *src2="a";
34     char *str="";
35     int src_len=strlen(src);
36     int left=0,right=0;
37     int index_left,index_right;
38     int index=Index_BF(dst,src,0);
39     if(index!=-1)
40     {
41         index_left=Index_BF(dst,src2,0);
42         index_right=Index_BF(dst,src2,index+src_len);
43         if(index_left!=-1&&index_left<index)
44             left=1;
45         if(index_right!=-1&&index_right>index+src_len-1)
46             right=1;
47 
48     printf("index %d index_left %d index_right %d\n",index,index_left,index_right);
49     }
50     else
51         str="invalid";
52     if(left==1&&right==0)
53         str="backward";
54     else if(left==0&&right==1)
55         str="forward";
56     else if(left==1&&right==1)
57         str="both";
58     else
59         str="invalid";
60     return str;
61 
62 }
63 void main()
64 {
65     char *str=func();
66     printf("func\n");
67     printf("%s\n",str);
68 }

 

以上是关于字符串匹配的主要内容,如果未能解决你的问题,请参考以下文章

Spark发现匹配字符串的出现次数

前端开发常用js代码片段

详解 Scala 模式匹配

前端开发中最常用的JS代码片段

firebase 的短信代码不匹配

JAVA正则表达式怎么匹配所有符合要求的子字符串