子串模糊匹配

2021-09-26 02:27:36 字數 1066 閱讀 6256

從字串string開始完整匹配子串sub,返回匹配到的字元個數。

sub中如果出現'?'表示可以匹配一到三個除'\0'以外的任意字元。

如果sub還有找不到匹配的字元,則說明不能完整匹配。

如果能完整匹配,返回匹配到的字元個數,如果有多種匹配方式,返回匹配字元數最少的那個,如果不能完整匹配,返回-1

輸入描述:

第一行輸入字串string,長度小於10000

第二行輸入子串sub,長度小於100

輸出描述:

從string開頭位置完整匹配sub,匹配到的字元個數。
輸入例子1:

abcdefg

a?c

輸出例子1:

3
輸入例子2:

aabcddefg

a?c

輸出例子2:

4
輸入例子3:

aabcddefg

b?e

輸出例子3:

-1
輸入例子4:

aabcddefg

a?d

輸出例子4:

5
#include#includeusing namespace std;

int main()

else

else if(substr[j] == '?')

else if(substr[j+1] == str[i+2])

else if(substr[j+1] == str[i+3])

else

j++;

}else if(str[i] != substr[j])

}cout << count ; }

}

利用編輯距離的子串模糊匹配 python實現

編輯距離是模糊字串匹配領域廣為人知的一項技術。經過一些改動,編輯距離同樣可以用於子串的模糊匹配。例子 子串 abc 匹配物件 c abba c 右下角的5就是兩個字串之間的編輯距離。這是從 aba 到 c aba c 你需要修改的次數。但是,我們可以看到由子串 abba 變為 aba 只需要一步。為...

深信服2019春招筆試 子串模糊匹配

從字串string開始完整匹配子串sub,返回匹配到的字元個數。sub中如果出現 表示可以匹配一到三個除 0 以外的任意字元。如果sub還有找不到匹配的字元,則說明不能完整匹配。如果能完整匹配,返回匹配到的字元個數,如果有多種匹配方式,返回匹配字元數最少的那個,如果不能完整匹配,返回 1 輸入描述 ...

關於字串模糊匹配

一種比kmp和bm 更高效的匹配演算法 如果想看原英文介紹,看下面分割線後的 適用於 模式串較短的情況,最壞時間複雜性為o n m 不過一般沒這麼壞 sunday演算法其實思想跟bm演算法很相似,只不過sunday演算法是從前往後匹配,在匹配失敗時關注的是文字串中參加匹配的最末位字元的下一位字元。如...