English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
文字列「.」はJavaの正規表現で任意の文字(単一)を一致させます。それは文字、数字またはどんな特殊文字でもできます。
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example { public static void main(String args[]) { //ユーザーから文字列を読み取ります System.out.println("文字列を入力してください"); Scanner sc = new Scanner(System.in); String input = sc.nextLine(); //正規表現はどんな文字でも一致させます String regex = "."; //正規表現をコンパイルします Pattern pattern = Pattern.compile(regex); //検索マッチャーオブジェクト Matcher matcher = pattern.matcher(input); int count = 0; while(matcher.find()) { count ++; } System.out.println("与えられた文字列が含んでいます"+count+"文字を一致させます."); } }
出力結果
文字列を入力してください hello how are you welcome to w3codebox 与えられた文字列が含んでいます 42 文字を一致させます。
以下の正規表現を使用してaとbの間の任意の3個文字-
a…b
同様に、表現*”とn文字に一致。
次のJavaプログラムはユーザーから読み込みます5指定の文字列を入力し、bで始まり、aで終わり、その間に任意の文字が含まれる文字列を受け入れる。
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexExample { public static void main( String args[] ) { String regex = "^b.*a$"; Scanner sc = new Scanner(System.in); System.out.println("Enter 5 input strings: "); String input[] = new String[5]; for (int i=0; i<5; i++) { input[i] = sc.nextLine(); } //パターンオブジェクトを作成 Pattern p = Pattern.compile(regex); for(int i=0; i<5;i++) { //マッチャーオブジェクトを作成 Matcher m = p.matcher(input[i]); if(m.find()) { System.out.println(input[i]+": accepted"); } else { System.out.println(input[i]+": not accepted"); } } } }
出力結果
Enter 5 input strings: barbara boolean baroda ram raju barbara: accepted boolean: not accepted baroda: accepted ram: not accepted raju: not accepted