Java 正则表达式程序用于验证字符串是否至少包含一个字母数字字符。

javaobject oriented programmingprogramming更新于 2025/2/9 3:24:17

以下正则表达式匹配至少包含一个字母数字字符 − 的字符串

"^.*[a-zA-Z0-9]+.*$";

其中,

  • ^.* 匹配以零个或多个(任意)字符开头的字符串。

  • [a-zA-Z0-9]+ 匹配至少一个字母数字字符。

  • .*$ 匹配以零个或多个(任意)字符结尾的字符串。

示例 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("输入字符串");
      Scanner sc = new Scanner(System.in);
      String input = sc.nextLine();
      //正则表达式
      String regex = "^.*[a-zA-Z0-9]+.*$";
      //编译正则表达式
      Pattern pattern = Pattern.compile(regex);
      //检索匹配器对象
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      if(matcher.matches()) {
         System.out.println("给定的字符串有效");
      } else {
         System.out.println("给定的字符串无效");
      }
   }
}

输出 1

输入字符串
###test123$$$
给定的字符串有效

输出 2

输入字符串
####$$$$
给定的字符串无效

示例 2

import java.util.Scanner;
public class Example {
   public static void main(String args[]) {
      //从用户读取字符串
      System.out.println("输入字符串");
      Scanner sc = new Scanner(System.in);
      String input = sc.nextLine();
      //正则表达式
      String regex = "^.*[a-zA-Z0-9]+.*$";
      boolean result = input.matches(regex);
      if(result) {
         System.out.println("Valid match");
      }else {
         System.out.println("In valid match");
      }
   }
}

输出 1

输入字符串
###test123$$$
Valid match

输出 2

输入字符串
####$$$$
In valid match

相关文章


有用资源