正規表現パターンオブジェクトを作成
Patternオブジェクトを作成するために、Pattern.compile()静的メソッドを使用しています。
Pattern pattern = Pattern.compile("//w"); //compile的参数是字符串形式的正则表达式
関連する一般的な方法のパターン
マッチ()
あなたはPattern.compile()静的メソッドを使用して、Patternオブジェクトを作成した後で、Patternオブジェクトマッチャを使用し()メソッドは、Matcherのオブジェクトを生成します。整合大きなクラスは、パターンマッチングのための方法を述べました。
次に、私たちが紹介するのMatcherオブジェクトのインスタンスのfind()、グループ()、開始() とend()メソッド:
public static void main(String[] args) {
String str = "abcabcabcabc";
Pattern pattern = Pattern.compile("abc+"); //compile的参数是字符串形式的正则表达式
Matcher matcher = pattern.matcher(str); //matcher的参数时要进行匹配的主串
while (matcher.find()) {
System.out.println("匹配结果: " + matcher.group() + "起始位置: " + matcher.start() + "结束位置" + (matcher.end() - 1));
}
}
できない部分文字列はfalseを返します一致する場合は、メイン文字列の順序でコンテンツ全体を一致させる()メソッドを見つけ、マッチが発見された結果は、trueを返します。マッチが発生する前に呼び出されるか、マッチが(例外をスロースタートします失敗した後に呼び出された場合グループ()メソッドは、最後に成功したマッチ部分文字列を返す)とend()メソッドは、成功したマッチ部分文字列を返します。インデックスとメインの文字列プラスワンでの最後の位置の開始位置のインデックス。試合後には成功した試合は常に(matcher1.last始まり見つけること注)で。
スプリット()
分割の戻り値パターン()メソッドは、同じパラメータを持つ文字列分割を生成するが、わずかに異なる使用します。
文字列分割方法:
パブリック文字列[]スプリット(文字列reglex)
パブリック文字列[]スプリット(文字列reglex、INT限界)
分割方式のパターン:
パブリック文字列[]分割(列STR)
パブリック文字列[]分割(列STR、INTリミット)
主パターン文字列パターンマッチングを着信しながら、文字列パラメータは、正規表現の文字列の形式で渡された最初の2つのクラスに差分法パラメータを見ることができます。
パターンフラグ
コンパイル(文字列、整数フラグreglex:コンパイルメソッドがオーバーロードされたメソッドがあります )。この方法は、私たちは別の一致規則を使用してフラグを指定することができます。次のようにフラグ値が要約されています。
フラグ値 | 効果 |
---|---|
Pattern.CANON_EQ | 後の分解を調節するための唯一の2つの文字は正確に等しく一致します。たとえば:\ u030Aがマッチしますか?、デフォルトモードは一致しません |
Pattern.CASE_INSENSITIVE(?I) | Pattern.UNICODE_CASEと組み合わせて使用することができますケースを無視 |
Pattern.COMMENTS(?X) | 空白は無視され、#で始まる文字列はコメントとして無視されます |
Pattern.DOTALL(?S) | 。「」ラインターミネータを含め、すべての文字にマッチします。デフォルトの行終端と一致しません |
Pattern.MULTILINE(?メートル) | 終わりの始まりと文字列とマッチした行の文字列の先頭の「^」終わりを終了し、「$」は、デフォルトでは、行にマッチし、「^」は、一致する文字列に「$」に文字列の先頭にマッチ |
Pattern.UNICODE_CASE(?U) | Pattern.CASE_INSENSITIVEと組み合わせて使用することができますケースを無視 |
Pattern.UNIX_LINES(?D) | 「」、 『^』と一致回線終端に 『$』 |