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

Java 정규 표현식의 \ b 원자문자

서브 표현식/기본 문자 " \ b ”와 중간 괄호 외의 단어 경계와 일치하며, 괄호 내의 공백과 일치합니다(0x08)。

예제1

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 = \\\\bbecause\\\b;
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter a string:");
      String input = sc.nextLine();
      Pattern p = Pattern.compile(regex);
      Matcher m = p.matcher(input);
      int count = 0;
      while(m.find()) {
         count ++;
      }
      System.out.println("matches의 수: ");+count);
   }
}

출력 결과

문자열을 입력하세요:
A sentence doesn't end with because because, because is a conjunction
matches의 수: 3

예제2

다음 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("Enter input 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 count =0;
      while(matcher.find()) {
         count ++;
      }
      System.out.println(count);
   }
}

출력 결과

Enter input string:
Hello how are you welcome to w3codebox
14