java 實現含萬用字元的字串匹配

2021-09-01 13:05:49 字數 696 閱讀 1995

演算法目標,對於 字串 abcd1dd2deeedd9 能偶匹配到字串 abc*dd?;*代表任意個數的字串,?代表乙個字元.

分兩步走,

第一步實現含?而不含*的 字串匹配,如對dd?的匹配 

第二步,實現含有* 的字串的匹配,如abc* dd?,主要思路是用* split 字串,分為兩個有效的串,abc, dd?

然後使用步驟一種的方法來檢視匹配到的index.

* 找出含?的字串

* @return

public int checksubpattern(string src,int begin,string pat)

for(int i=begin;ifor(int j=0;jif(pat.charat(j)!='?' && src.charat(i+j)!=pat.charat(j))

return -1;

public boolean checkstar(string src,string pat)

if(i==0 && pat.charat(i)!='*' &&begin!=0)

if((i==sub_p.length-1)  && pat.charat(i)!='*' &&begin!=(src.length()-                                      sub_p[i].length()))

return true;

字串 字串萬用字元

字串萬用字元 描述 問題描述 在計算機中,萬用字元一種特殊語法,廣泛應用於檔案搜尋 資料庫 正規表示式等領域。現要求各位實現字串萬用字元的演算法。要求 實現如下2個萬用字元 匹配0個或以上的字元 字元由英文本母和數字0 9組成,不區分大小寫。下同 匹配1個字元 輸入 萬用字元表示式 一組字串。輸出 ...

萬用字元匹配字串

問題 實現支援?和 兩個萬用字元的字串匹配函式。implement wildcard pattern matching with support for and matches any single character.matches any sequence of characters inclu...

java實現字串反轉

問題 給乙個字串,比如 i love china 把字元反轉後變成 china love i 思路 先把字串從第乙個字元與最後乙個字元對換,第二個字元和倒數第二個字元對換,這樣,我們就把每乙個單詞位置互換了。但是我們要求單詞裡面字元的順序是不能變的,所以,我們要把每乙個單詞裡面的字元從頭到尾對換一下...