商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > JAVA正则表达式中的中括弧示例代码

JAVA正则表达式中的中括弧示例代码

  发布于2026-07-28 阅读(0)

扫一扫,手机访问

前言

在Ja va正则表达式里,中括号 [] 是一个相当常用且强大的工具——它用来定义一个字符集(character class),说白了就是匹配括号内的任意一个字符。那么,[] 具体怎么用?来看看几个最基础的用法,顺便熟悉一下它的小脾气。

JA VA正则表达式中的中括弧示例代码

  1. 匹配特定字符[abc] 就能匹配到 'a'、'b' 或 'c' 中的任意一个,简单直接。

  2. 范围表示:用连字符 - 表示范围,比如 [a-z] 匹配所有小写字母,[A-Z] 匹配大写字母,[0-9] 匹配数字。这招特别省事。

  3. 组合使用:把多个范围拼在一起,比如 [a-zA-Z] 匹配任何字母(大小写都行),[a-zA-Z0-9] 则匹配字母或数字,覆盖常见需求。

  4. 排除特定字符:在左括号后面加个 ^,就变成了“除了这些”。例如 [^abc] 匹配除 'a'、'b'、'c' 之外的任何字符,[^0-9] 匹配任何非数字。

  5. 特殊字符的“退化”:在字符集内部,很多原本在正则中有特殊意义的字符(比如 .*+?)都变成了普通字符,直接匹配自己。但有两个例外:^- 在特定位置有特殊含义(如上所述),而 \ 仍然肩负转义使命。

  6. 转义字符:如果字符集中想包含 ]-^\ 本身,需要用反斜杠转义。比如 []] 匹配一个右方括号(前面的 ] 是转义后的,后面的 ] 作为字符集结束符,写法有点绕,但熟练了就好)。

  7. 连续范围:一个字符集里可以定义多个范围,比如 [a-zA-Z0-9_] 匹配任何字母、数字或下划线,非常实用。

示例代码

下面给个实战场景:检查一个字符串是否只包含小写字母或数字。用 Ja va 代码来演示,一看就懂:

import ja va.util.regex.Pattern;
import ja va.util.regex.Matcher;

public class RegexExample {
    public static void main(String[] args) {
        String pattern = "^[a-z0-9]+$";
        Pattern r = Pattern.compile(pattern);
        
        // 测试字符串
        String testString1 = "hello123";
        String testString2 = "Hello123";
        
        // 创建 matcher 对象
        Matcher m1 = r.matcher(testString1);
        Matcher m2 = r.matcher(testString2);
        
        if (m1.find()) {
            System.out.println("testString1: " + testString1 + " 匹配");
        } else {
            System.out.println("testString1: " + testString1 + " 不匹配");
        }
        
        if (m2.find()) {
            System.out.println("testString2: " + testString2 + " 匹配");
        } else {
            System.out.println("testString2: " + testString2 + " 不匹配");
        }
    }
}

这里用的正则 ^[a-z0-9]+$ 表示“从头到尾整个字符串只能由小写字母或数字组成”。如果字符串符合条件,输出“匹配”,否则“不匹配”。注意 find() 方法其实只查找是否存在匹配的子串,想确保整个字符串完全匹配,应该用 matches() 方法,这个细节很多人容易搞混。

总结

本文转载于:https://www.jb51.net/program/368201qbi.htm 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注