이 문자 클래스 \p{javaMirrored}는 대문자와 일치합니다. 이 클래스는 java.lang.Character 클래스의 isMirrored() 메소드에 매개변수로 전달될 때 true를 리턴하는 문자와 일치합니다.
예시 1
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexExample { public static void main(String args[]) { //Reading String from user System.out.println("Enter a string"); Scanner sc = new Scanner(System.in); String input = sc.nextLine(); //Regular expression String regex = "[\\p{javaMirrored}]"; //Compiling the regular expression Pattern pattern = Pattern.compile(regex); //Retrieving the matcher object Matcher matcher = pattern.matcher(input); int count = 0; while(matcher.find()) { count++; } System.out.println("Number of mirrored characters: "+count); } }
출력
Enter a string <hello< (how are you) {welcome} Number of mirrored characters: 6
예시 2
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example { public static void main(String args[]) { //Regular expression to match lower case letters String regex = "^\\p{javaMirrored}+$"; //Getting the input data 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(); } //Creating a Pattern object Pattern p = Pattern.compile(regex); System.out.println("Strings with mirrored characters: "); for(int i=0; i<5;i++) { //Creating a Matcher object Matcher m = p.matcher(input[i]); if(m.matches()) { System.out.println(m.group()); } } } }
출력
Enter 5 input strings: {Raju} <RAMU> rahman radha {}<>()[] Strings with mirrored characters: {}<>()[]