Bạn có thể trừ một dải ô khỏi dải ô khác và sử dụng nó như một dải ô mới. Bạn có thể đạt được điều này bằng cách sử dụng hai biến thể của các lớp ký tự, tức là phủ định và giao nhau.
Ví dụ:phần giao nhau của các dải ô [a-l] và [^ e-h] cung cấp cho bạn các ký tự từ a đến l khi rage trừ các ký tự [e-h]
Ví dụ
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter input text: ");
String input = sc.nextLine();
String regex = "[a-l&&[^e-h]]";
//Creating a pattern object
Pattern pattern = Pattern.compile(regex);
//Matching the compiled pattern in the String
Matcher matcher = pattern.matcher(input);
int count =0;
while (matcher.find()) {
count++;
System.out.print(matcher.group()+" ");
}
System.out.println("Number of matched characters: "+count);
}
} Đầu ra
Enter input text: abcdefghijklmnopq a b c d i j k l Number of matched characters: 8