Computer >> Máy Tính >  >> Lập trình >> Java

Làm thế nào để so khớp các ranh giới không phải từ bằng cách sử dụng Java RegEx?

Bạn có thể so khớp các ranh giới không phải từ bằng cách sử dụng ký tự meta “\\ B”.

Ví dụ 1

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
   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();
      String regex = "\\B";
      //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 non-word boundaries: "+count);
   }
}

Đầu ra

Enter a String
this is a sample text
Number of non-word boundaries: 12

Ví dụ 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("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("no of non-word boundaries: "+count);
   }
}

Đầu ra

Enter a string:
this is a sample text in win tin pin sin
no of non-word boundaries: 4