自分の勉強用として練習問題を作成しています。
練習問題
No.01
実行結果の通りになるように出力してください。
- 正規表現を用いる
- 完全一致している
- matchesメソッドを使用する
- matches()
提供コード
Java
public class Main {
public static void main(String[] args) {
String s = "ABC";
System.out.println();
}
}
実行結果
Java
true
Java
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
true
Java
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
true
Java
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
true
Java
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
true
Java
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
true
Java
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
true
Java
[]の中にある文字で、どれか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
true
Java
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 + ">");
}
}
}
コメントを残す