オファー(Java版)第5 Q18受賞:「」「*」正規表現に一致して含めるする機能を実装してくださいします。モード文字が「」 『*』任意の1つの文字を表し前の文字が(0時間を含む)任意の回数現れることができることを示しています。この問題では、試合全体のパターンが文字列のすべての文字に一致しています。例えば、文字列「AAA」モードと「AA」と「AB * AC *」試合が、「aa.a」と「abが*」と一致しません

/ *
「を備えるに一致する機能を実装」と「*」正規表現。
モード文字が「」 『*』任意の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自動生成方法スタブ

}

}

おすすめ

転載: www.cnblogs.com/zhuozige/p/12546351.html