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

Java 정규 표현식(RegEx)을 사용하여 단어 경계를 매칭하는 방법?

단어 경계가 아닌 부분을 매치하는 유미자 "\\B"를 사용할 수 있습니다.

예제1

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("Enter a String");
      Scanner sc = new Scanner(System.in);
      String input = sc.nextLine();
      String regex = "\\B";
      //정규 표현식을 컴파일합니다
      Pattern pattern = Pattern.compile(regex);
      //검색 매치어 객체
      Matcher matcher = pattern.matcher(input);
      int 계산 = 0;
      while(matcher.find()) {
         계산++;
      }
      System.out.println("비단어 수-단어 경계: "+계산);
   }
}

출력 결과

문자열을 입력하세요
이것은 샘플 텍스트입니다
비단어 수-단어 경계: 12

예제2

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
   public static void main( String args[] ) {
      String regex = "\\Bin";
      Scanner sc = new Scanner(System.in);
      System.out.println("문자열을 입력하세요: ");
      String input = sc.nextLine();
      Pattern p = Pattern.compile(regex);
      Matcher m = p.matcher(input);
      int 계산 = 0;
      while(m.find()) {
         계산++;
      }
      System.out.println("비단어 수-단어 경계: "+계산);
   }
}

출력 결과

문자열을 입력하세요:
이것은 win tin pin sin에서의 샘플 텍스트입니다
비단어 수-단어 경계: 4
추천 합니다