字符类:范围 - Java 正则表达式

javaobject oriented programmingprogramming更新于 2025/2/13 20:28:17

Java 正则表达式中的字符类使用方括号"[ ]"定义,此子表达式匹配指定或可能字符集中的单个字符。例如,正则表达式 [abc] 匹配单个字符 a 或 b 或 c。

字符类的范围变体允许您使用字符范围,即表达式 [a-z] 匹配字母 a 到 z 中的单个字符,而表达式 [^A-Z] 匹配非大写字母的字符。

示例 1

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-z]";
      //创建一个模式对象
      Pattern pattern = Pattern.compile(regex);
      //匹配字符串中的编译模式
      Matcher matcher = pattern.matcher(input);
      int count =0;
      while (matcher.find()) {
         count++;
      }
      System.out.println("Number characters from the range (a-z): "+count);
   }
}

输出

Enter input text:
sample data 5423 #@ %*&
Number characters from the range (a-z): 10

示例 2

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample3 {
   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-Z]";
      //创建一个模式对象
      Pattern pattern = Pattern.compile(regex);
      //匹配字符串中的已编译模式
      Matcher matcher = pattern.matcher(input);
      int count =0;
      if (matcher.find()) {
         System.out.println("match occurred");
      } else {
         System.out.println("match not occurred");
      }
   }
}

输出 1

Enter input text:
sample data
match occurred

输出 2

Enter input text:
SAMPLEDATA
match not occurred

相关文章


有用资源