JAVA中正则表达式详解
本文正则表达式详解使用了代码详细讲解,让人一看就会.....
方法调用:
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}
}
常用的正则表达式: