English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java에서 정규 표현식 "[^ ...]" 구조

서브 표현식/정규 표현식의 문자 [^ ...] 쌍따옴표가 없는 모든 단어를 일치시킵니다.

예제1

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class SpecifiedCharacters {
   public static void main( String args[] ) {
      String regex = "[^hwtyoupi]";
      String input = "Hi how are you welcome to w"3codebox";
      Pattern p = Pattern.compile(regex);
      Matcher m = p.matcher(input);
      int count = 0;
      while(m.find()) {
         count++;
      }
      System.out.println("매치 횟수:");+count);
   }
}

출력 결과

매치 횟수: 21

예제2

다음 Java 프로그램은 사용자로부터5문자열을 생성하여 영어 알파벳을 포함하지 않는 문자열을 출력합니다/단어.

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 = "^.*[^a-zA-Z].*$";
      Scanner sc = new Scanner(System.in);
      System.out.println("입력", 5 입력 문자열: ");
      String input[] = new String[5];
      for(int i=0; i<5; i++) {
         input[i] = sc.nextLine();
      }
      //Pattern 객체를 생성합니다
      Pattern p = Pattern.compile(regex);
      System.out.println("영어 알파벳을 포함하지 않는 문자열: ");
      for(int i=0; i<5;i++) {
         //Matcher 객체를 생성합니다
         Matcher m = p.matcher(input[i]);
         if(m.find()) {
            System.out.println(m.group());
         }
      }
   }
}

출력 결과

입력하십시오 5 입력 문자열:
1234*5
*&%
샘플
테스트
데이터23
영어 알파벳을 포함하지 않는 문자열:
1234*5
*&%