深入解析:JAVA中正则表达式详解

本文正则表达式详解使用了代码详细讲解,让人一看就会.....

  1. 方法调用

    • String.matches(regex):检查字符串是否完全匹配正则表达式。

package com;
/**
* 正则表达式测试类
* 用于演示Java中正则表达式的基本用法
*/
public class RegexTest {
public static void main(String[] args) {
// =============== 内容限定 =================
System.out.println("===============内容限定=================");
// ==================== 单个字符限定 ===============================
System.out.println("====================单个字符限定===============================");
// 正则表达式:只匹配单个字符'a'
String regex = "[a]";
// 测试字符串
String content = "a";
// 判断字符串是否匹配正则表达式
System.out.println(content.matches(regex));  // 输出:true
// ==================== 范围字符限定 ===============================
System.out.println("====================范围字符限定===============================");
// 正则表达式:匹配任意一个字母(大小写)或数字
String regex1 = "[a-zA-Z0-9]";
// 测试字符串
String content1 = "c";
// 判断字符串是否匹配正则表达式
System.out.println(content1.matches(regex1));  // 输出:true
// ==================== 取反限定 ===============================
System.out.println("====================取反限定===============================");
// 正则表达式:匹配不是'a'或'b'的任意单个字符
String regex2 = "[^ab]";
// 测试字符串
String content2 = "c";
// 判断字符串是否匹配正则表达式
System.out.println(content2.matches(regex2));  // 输出:true
// =============== 长度限定 =================
System.out.println("===============长度限定=================");
// ==================== 固定长度限定 ===============================
System.out.println("====================固定长度限定===============================");
// 正则表达式:匹配恰好5个小写字母
String regex3 = "[a-z]{5}";
// 测试字符串
String content3 = "abcde";
// 判断字符串是否匹配正则表达式
System.out.println(content3.matches(regex3));  // 输出:true
// ==================== 范围长度限定 ===============================
System.out.println("====================范围长度限定===============================");
// 正则表达式:匹配2到4个小写字母
String regex4 = "[a-z]{2,4}";
/**
* {0,2}  最小长度必须是0,最大长度是2
* {2,}   最小长度是2,最大长度无限定
*/
// 测试字符串
String content4 = "cc";
// 判断字符串是否匹配正则表达式
System.out.println(content4.matches(regex4));  // 输出:true
// =============== 长度限定符号 =================
System.out.println("===============长度限定符号=================");
/**
* ?:零次或一次,等同于{0,1}
* +:一次或多次,等同于{1,}
* *:零次或多次,等同于{0,}
*/
// 正则表达式:匹配一个或多个不是'a'或'b'的字符
String regex5 = "[^ab]+";
// 测试字符串
String content5 = "ccxxzvzcvxv";
// 判断字符串是否匹配正则表达式
System.out.println(content5.matches(regex5));  // 输出:true
// =============== 预定义字符 =================
System.out.println("===============预定义字符=================");
/**
* 字符    描述
* \d    匹配一个数字字符,等价于[0-9]。
* \D    匹配一个非数字字符,等价于[^0-9]。
* \n    匹配一个换行符。
* \r    匹配一个回车符。
* \s    匹配任何空白字符,包括空格、制表符、换页符等等。
* \S    匹配任何非空白字符。
* \t    匹配一个制表符。
* \w    匹配包括下划线的任何单词字符。等价于"[A-Za-z0-9_]"。
* \W    匹配任何非单词字符。等价于"[^A-Za-z0-9_]"。
*/
// 正则表达式:匹配一个或多个数字字符
String regex6 = "\\d+";  // 注意:Java中需要使用双反斜杠转义
// 测试字符串
String content6 = "11231231";
// 判断字符串是否匹配正则表达式
System.out.println(content6.matches(regex6));  // 输出:true
}
}

常用的正则表达式:

posted @ 2025-08-17 13:20  yfceshi  阅读(6)  评论(0)    收藏  举报