正規表現は文字列の処理において非常に効率的です
正規表現の使用については、私自身の経験に基づいていますので、興味があれば関連書籍を参照してください。
ここでは主にJavaでの通常の操作方法について書いていきます。
例 1: 一致クラスデモ {
public static void main(String[] args) {
スキャナー sc = 新しいスキャナー(System.in);
//入力を取得する
System.out.print("入力してください:");
文字列 str = sc.nextLine();
チェック(文字列);
}
private static void check(String str) {
//最初に一致する数字は 1 ~ 9、2 番目以降の数字は 0 ~ 9 (数字は 4 ~ 10)
文字列正規表現 = "[1-9][0-9]{4,10}";
/*
//大文字または小文字の a ~ z の 1 文字と一致します
文字列正規表現 = "[a-zA-Z]";
//数値を照合し、エスケープ文字に注意してください
文字列正規表現 = "//d";
// 数字以外の一致
文字列正規表現 = "//D";
*/
if(str.matches(regex)) {
System.out.println("マッチング成功");
} それ以外 {
System.out.println("マッチングに失敗しました");
}
}
}
例 2: 切断
クラスデモ {
public static void main(String[] args) {
スキャナー sc = 新しいスキャナー(System.in);
System.out.print("入力してください:");
文字列 str = sc.nextLine();
分割(文字列);
}
プライベート静的ボイドsplit(String str) {
// 1 つ以上のスペースと一致します
文字列正規表現 = " +";
String[] arr = str.split(regex);
for (文字列 s : arr) {
System.out.println;
}
}
}
例 3: 交換
クラスデモ {
public static void main(String[] args) {
スキャナー sc = 新しいスキャナー(System.in);
System.out.print("入力してください:");
文字列 str = sc.nextLine();
replace(str);
}
private static void replace(String str) {
// 繰り返された単語と一致する
文字列正規表現 = "(.)//1+";
文字列 s = str.replaceAll(regex, "*");
System.out.println;
}
}