自分の勉強用として練習問題を作成しています。
練習問題
No.01
実行結果の通りになるように出力してください。
- 正規表現を用いる
- 完全一致している
- matchesメソッドを使用する
- matches()
 
提供コード
Java
public class Main {
    
    public static void main(String[] args) {
        String s = "ABC";
        System.out.println();
    }
}実行結果
Java
trueJava
public class Main {
    
    public static void main(String[] args) {
        String s = "ABC";
        System.out.println(s.matches("ABC"));
    }
}No.02
実行結果の通りになるように出力してください。
- 正規表現を用いる
- パターンに.(ピリオド)を使う
提供コード
Java
public class Main {
    
    public static void main(String[] args) {
        String s = "ABC";
        System.out.println();
    }
}実行結果
Java
trueJava
public class Main {
    
    public static void main(String[] args) {
        String s = "ABC";
        System.out.println(s.matches("A.C"));
    }
}引数で与えてるパターン中にピリオド記号があった場合、AとCの間には、任意の1文字が入っていれば良いという意味になる。
今回の問題では、AとCの間にピリオドを1つ入れているため、変数sにAZCやAあCが代入されていたとしても結果はtrueになる。
No.03
実行結果の通りになるように出力してください。
- 正規表現を用いる
- パターンに.(ピリオド)を使う
- パターンで使用できる文字は、AとEのみです
提供コード
Java
public class Main {
    
    public static void main(String[] args) {
        String s = "ABCDE";
        System.out.println();
    }
}実行結果
Java
trueJava
public class Main {
    
    public static void main(String[] args) {
        String s = "ABCDE";
        System.out.println(s.matches("A...E"));
        
        // 出力しないのであれば下記でもtrueになる
        "ABCDE".matches("A...E");
    }
}No.04
実行結果の通りになるように出力してください。
- 正規表現を用いる
- パターンにアスタリスクを使用する
提供コード
Java
public class Main {
    
    public static void main(String[] args) {
        String s = "ABBBBB";
        System.out.println();
    }
}実行結果
Java
trueJava
public class Main {
    
    public static void main(String[] args) {
        String s = "ABBBBB";
        System.out.println(s.matches("AB*"));
        
        // 出力しないのであれば下記でもtrueになる
        "ABBBBB".matches("AB*");
    }
}アスタリスクは、直前の文字を0回以上繰り返すという意味がある。変数sの中にABからはじまるが、どれくらいBが続くかわからないパターンの時にこれが使える。
No.05
実行結果の通りになるように出力してください。
- 正規表現を用いる
- パターンに波カッコを使用する
- 直前の文字をn回の繰り返し
提供コード
Java
public class Main {
    
    public static void main(String[] args) {
        String s = "APPLE";
        System.out.println();
    }
}実行結果
Java
trueJava
public class Main {
    
    public static void main(String[] args) {
        String s = "APPLE";
        System.out.println(s.matches("AP{2}LE"));
    }
}波カッコの中に数字書かれている場合、直前の文字を指定回数分繰り返すという意味になる。
{n} ‥ 直前の文字のn回繰り返し
No.6
実行結果の通りになるように出力してください。
- 正規表現を用いる
- パターンに波カッコを使用する
- 直前の文字をn回以上の繰り返しで表現
提供コード
Java
public class Main_3 {
    
    public static void main(String[] args) {
        String s = "100000035";
        System.out.println();
    }
}実行結果
Java
trueJava
public class Main {
    
    public static void main(String[] args) {
        String s = "100000035";
        System.out.println(s.matches("10{1,}35"));
        
        //{1,} ~ {6,}の範囲であれば正解です
    }
}No.7
実行結果の通りになるように出力してください。
- 正規表現を用いる
- パターンに波カッコを使用する
- 直前の文字をn回以上、m回以下の繰り返しで表現
提供コード
Java
public class Main {
    
    public static void main(String[] args) {
        String s = "100000035";
        System.out.println();
    }
}実行結果
Java
public class Main {
    
    public static void main(String[] args) {
        String s = "100000035";
        System.out.println(s.matches("10{1,6}35"));
    }
}No.8
実行結果の通りになるように出力してください。
- 正規表現を用いる
- パターンに角カッコを使用する
- 角カッコ内のどれか1文字が当てはまることを要求
提供コード
Java
public class Main {
    
    public static void main(String[] args) {
        String s = "ABC";
        System.out.println();
    }
}実行結果
Java
trueJava
[]の中にある文字で、どれか1文字が当てはまることを要求する
public class Main {
    
    public static void main(String[] args) {
        String s = "ABC";
        System.out.println(s.matches("AB[CDE]"));
    }
}No.9
実行結果の通りになるように出力してください。
- 正規表現を用いる
- パターンに角カッコを使用する
- 指定範囲のいずれかの文字
提供コード
Java
public class Main {
    
    public static void main(String[] args) {
        String s = "ABC";
        System.out.println();
    }
}実行結果
Java
trueJava
public class Main {
    
    public static void main(String[] args) {
        String s = "ABC";
        System.out.println(s.matches("AB[A-Z]"));
    }
}角カッコ内で ー(ハイフン)を使用すると、文字列の範囲を指定することができます。ここではA〜Zまでの英字を指定してます。
No.10
実行結果の通りになるように出力してください。
- 正規表現を用いる
- 「:」と「;」で文字列を分割
提供コード
Java
public class Main_3 {
    
    public static void main(String[] args) {
        String s = "abc,def:ghi";
    }
}実行結果
Java
abc>def>ghi>Java
public class Main {
    
    public static void main(String[] args) {
        String s = "abc,def:ghi";
        String[] words = s.split("[,:]");
        
        for (String w : words) {
            System.out.print(w + ">");
        }
    }
}







コメントを残す