import java.util.regex.*; public class ExRegex { public static void main(String[] args) { /* パターン1の正規表現 �-1.正規表現のパターンに適合するか確認する文字列text1を 生成します。 �-2.compileメソッドで正規表現をコンパイルします。 �-3.matcherメソッドで引数に正規表現の適合を確認する文字 列を指定し、Matcherオブジェクトを生成します。 �-4.matchesメソッドで正規表現に適合するかを確認します。 適合する場合trueを返します。 */ String text1 = new String("java1 java2 java3"); Pattern pattern1 = Pattern.compile("(java\\d)\\s(java\\d)\\s(java\\d)"); Matcher matcher1 = pattern1.matcher(text1); System.out.println(matcher1.matches()); System.out.println("---------------" + "\n"); /* パターン2の正規表現 �-1.正規表現のパターンに適合するか確認する文字列text2を 生成します。 �-2.compileメソッドで正規表現をコンパイルします。 �-3.splitメソッドで引数に指定された文字列を正規表現に合 わせ分割し、分割された文字列を配列で返します。 �-4.分割された文字列をforループを使用し、表示します。 */ String text2 = new String("java1 java2 java3"); Pattern pattern2 = Pattern.compile("\\s"); String[] splitStr = pattern2.split(text2); for (int i = 0; i < splitStr.length; i++) { System.out.println(splitStr[i]); } System.out.println("---------------" + "\n"); /* パターン3の正規表現 �-1.正規表現のパターンに適合するか確認する文字列text3を 生成します。 �-2.compileメソッドで正規表現をコンパイルします。 �-3.matcherメソッドで引数に正規表現の適合を確認する文字 列を指定し、Matcherオブジェクトを生成します。 �-4.replaceAllメソッドで正規表現に適合する文字列すべて を、引数に指定した文字列に置き換えます。 */ String text3 = new String("java1 java2 java3"); Pattern pattern3 = Pattern.compile("java"); Matcher matcher3 = pattern3.matcher(text3); System.out.println(matcher3.replaceAll("road")); System.out.println("---------------" + "\n"); /* パターン4の正規表現 �-1.正規表現のパターンに適合するか確認する文字列text4を 生成します。 �-2.compileメソッドで正規表現をコンパイルします。 �-3.matcherメソッドで引数に正規表現の適合を確認する文字 列を指定し、Matcherオブジェクトを生成します。 �-4.findメソッドで正規表現に適合する文字列があるかを順 番に調査します。 appendReplacementメソッドで文字列を順番に第2引数に 指定した文字列に置き換え、第1引数の文字列バッファに 追加します。 appendTailメソッドは特定位置以降の文字列を引数に指 定された文字列バッファに追加します。 findメソッド、appendReplacementメソッド、appendTail メソッドを使用し、replaceAllメソッドと同様の動作を 行います。 */ String text4 = new String("java1 java2 java3"); Pattern pattern4 = Pattern.compile("java"); Matcher matcher4 = pattern4.matcher(text4); StringBuffer appStrBuf = new StringBuffer(); while (matcher4.find()) { matcher4.appendReplacement(appStrBuf, "road"); } matcher4.appendTail(appStrBuf); System.out.println(appStrBuf.toString()); System.out.println("---------------" + "\n"); /* パターン5の正規表現 �-1.正規表現のパターンに適合するか確認する文字列text5を 生成します。 �-2.compileメソッドで正規表現をコンパイルします。 �-3.matcherメソッドで引数に正規表現の適合を確認する文字 列を指定し、Matcherオブジェクトを生成します。 �-4.findメソッドで正規表現に適合するかを調査します。 �-5.groupメソッドで前回の適合調査で適合した文字列を返し ます。groupメソッドの引数に指定された数値は正規表現の グループ()を表します。グループに合致する文字列を返し ます。グループは正規表現の()の左から1、2、3となります。*/ String text5 = new String("java1 java2 java3"); Pattern pattern5 = Pattern.compile("(java\\d)\\s(java\\d)\\s(java\\d)"); Matcher matcher5 = pattern5.matcher(text5); if (matcher5.find()) { System.out.println(matcher5.group(0)); System.out.println(matcher5.group(1)); System.out.println(matcher5.group(2)); System.out.println(matcher5.group(3)); } System.out.println("---------------" + "\n"); } } |
0 件のコメント:
コメントを投稿