/ *
「を備えるに一致する機能を実装」と「*」正規表現。
モード文字が「」 『*』任意の1つの文字を表し前の文字が(0時間を含む)任意の回数現れることができることを示しています。
この問題では、試合全体のパターンが文字列のすべての文字に一致しています。例えば、文字列"AAA"モードと"AA"と"AB * AC *"一致、
しかし"aa.a"と"ABは*"と一致しませんでした
* /
publicクラスClass58 {
パブリックブールマッチ(CHAR [ 】STR、CHAR []パターン){
IF(STR == NULL ||パターン== NULL){
falseにリターン;
}
(STR、0、パターン、0)matchMainを返す;
}
パブリックブールmatchMain(CHAR [] STR、INT I、CHAR []パターン、INT J){
IF(J == pattern.length){
str.length == Iを返す;
}
。 - [J + 1](J <pattern.length IF 1つの&&パターン==「* 「){
IF(I!&& = str.length
リターンmatchMain(STR、I、パターン、J + 2)|| matchMain(STR、I + 1、パターン、J)|| matchMain(STR、I + 1、パターン、J + 2)。
}他{
リターンmatchMain(STR、I、パターン、J + 2)。
}
}
もし(I!= str.length &&(STR [I] ==パターン[J])||パターン[J] == ''){
リターンmatchMain(STR、I + 1、パターン、J + 1 );
}
falseを返します。
}
パブリック静的無効メイン(文字列[] args){
// TODO自動生成方法スタブ
}
}