Javaでのパターンマッチング

Javaの学習レッスンで瑞シェアは、我々は理解した上でのJavaのパターンマッチングに関するより多くの情報を検討しました。私たちはあなたの参照を共有することを学ぶ、専門的な知識のコードの多くを見ることができます。

あなたは、Javaを使用している場合は、そのパターンマッチングの前に参照する可能性があります。文字列#マッチ(String)メソッドが内部的に使用されるパターンのタイプは、より複雑な機能が含まれます。
コンパイルすることでパターンを作成するために、正規表現を。このパターンは、入力文字列のいずれかと一致し、グループのキャプチャ、キャプチャ特定の部分のスペーサーグループの文字列データを検索するために選択することができます。
次のようにAPIの使い方は次のとおりです。

Pattern pattern = Pattern.compile("([\\^\\S]+) is powerful");
Matcher matcher = pattern.matcher("Java is powerful");
System.out.println(matcher.find()); // true
System.out.println(matcher.group()); // Java is powerful
System.out.println(matcher.group(1)); // Java

find()メソッド全体の入力文字列と一致するように、この例では、対戦モードを見つけます。グループ()メソッドの戻り捕捉のセット全体、すなわち、全体のパターンマッチ、または戻りインデックスを使用して定義された単一のキャプチャグループ。キャプチャグループの最初からインデックスではなく、0から始まります。

マッチ()メソッドがありますが、それは少し異なる動作します。

Pattern pattern = Pattern.compile("([\\^\\S]+) is powerful");
Matcher matcher = pattern.matcher("Our Java is powerful");
System.out.println(matcher.matches()); // false
System.out.println(matcher.find()); // true

matchs()は、入力文字列内のパターンを発見する試みにおいてのみどこか)全体の入力文字列とパターンマッチングを終了し起動し、(見つけよう。

ただ、覚えてます。Doの繰り返しではない繰り返しは、単一のマッチは、ショートカットメソッド文字列#マッチ(文字列)またはパターン#マッチ(文字列、のCharSequence)を使用して呼び出します。スキーマコンパイラは、それが非常に複雑であり、我々は、パターン不変のタイプの利点を取る必要があり、かつ複数の一致のために再利用します。

投稿は有用であることが判明しましたか?コメントは、転送を歓迎します!

それらのものの精巧なアーキテクチャを解明 -

おすすめ

転載: blog.51cto.com/14634606/2461203