【プログラミング問題】文字列パターンマッチング

リンク:https://www.nowcoder.com/questionTerminal/2e2510b2e41e4d3b922416e51afc077b
出典:牛オフネットワーク

二つの文字列、すなわち、パターン列P T及びターゲット文字列、パターン文字列を与えられ、ターゲット文字列、一致出力1、出力0不一致かどうかを決定します。モード文字列「?「ターゲット文字列内の任意の文字に一致し、パターン文字列は、」*「対象文字列の任意の文字列の長さと一致し、他の文字パターンと文字列がターゲット文字列と一致する必要があります。例えば、P = B、T = ACB、P及びTの一致のために。

 

説明を入力します。

(| P |≤20 1≤)最初の行の入力は、文字列pを、含まれています。

(| T |≤20 1≤)2行目は文字列入力tを、含まれています。


出力説明:

出力は、p、0と1の整数のみが含まれ、tは0不一致を表し、pは1とtマッチを表します。

例1

エントリー

?B
から

輸出

0
例2

エントリー

* B
から

輸出

1
例3

エントリー

* B
(CB

輸出

1

 

備考:
Tは「*」の文字とが含まれていないことを確認してください「?」文字

 

だから今C ++、Javaとわずか数行で処理できることがわかったと。のみすぎて料理に自分自身を責めます。

 

コード:[Javaの]

リンク:HTTPS:// www.nowcoder.com/questionTerminal/2e2510b2e41e4d3b922416e51afc077b 
出典:ネットワーク牛オフ

輸入java.util.regex.Patternの;
輸入 java.utilの。* ;
パブリック クラスメイン{
     公共 静的 ボイドメイン(文字列[]引数){
        スキャナスキャナ = 新しいスキャナ(System.in)。
        列P = scanner.nextLine()。
        文字列T = scanner.nextLine()。
         
        もし(Pattern.matches(p.replace( "*"、 "*")。(置き換える"?"、 "" {)、T))
            System.out.println( 1 )。
        } {
            System.out.println( 0 )。
        }
    }
}

 

おすすめ

転載: www.cnblogs.com/ruruozhenhao/p/12664166.html