结果示意图
正则字符类的用法
A:字符类
- [abc] a、b 或 c(简单类)
- [^abc] 任何字符,除了 a、b 或 c(否定)
- [a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
- [a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)
- [a-z&&[def]] d、e 或 f(交集)
- [a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去)
- [a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去)
B:matches()方法的用法
编译给定正则表达式并尝试将给定输入与其匹配。
案例代码
- package com.ifenx8.regex;
- public class Demo2_Regex {
- /**
- * A:字符类
- [abc] a、b 或 c(简单类)
- [^abc] 任何字符,除了 a、b 或 c(否定)
- [a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
- [a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)
- [a-z&&[def]] d、e 或 f(交集)
- [a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去)
- [a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去)
- B:matches()方法的用法
- 编译给定正则表达式并尝试将给定输入与其匹配。
- */
- public static void main(String[] args) {
- demo1();//[abc] a、b 或 c(简单类)
- demo2();//[^abc] 任何字符,除了 a、b 或 c(否定) 结果和demo1完全相反
- demo3();//[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
- demo4();//[a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)
- demo5();//[a-z&&[def]] d、e 或 f(交集)
- demo6();//[a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去)
- demo7();//[a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去)
- }
- public static void demo7() {
- String regex = "[a-z&&[^m-p]]";//a-z 之间除了m-p之间以外的全部字符
- System.out.println("a".matches(regex));//true
- System.out.println("m".matches(regex));//false
- System.out.println("p".matches(regex));//false
- System.out.println("0".matches(regex));//false
- System.out.println("#".matches(regex));//false
- }
- public static void demo6() {
- String regex = "[a-z&&[^bc]]";//a-z之间除了b c以外的全部字符
- System.out.println("a".matches(regex));//true
- System.out.println("b".matches(regex));//false
- System.out.println("c".matches(regex));//false
- System.out.println("1".matches(regex));//false
- System.out.println("#".matches(regex));//false
- System.out.println("==========");
- }
- public static void demo5() {
- String regex = "[a-z&&[def]]";//a-z和def的交集 就相当于[def]
- System.out.println("a".matches(regex));//false
- System.out.println("e".matches(regex));//true
- System.out.println("f".matches(regex));//true
- System.out.println("1".matches(regex));//false
- System.out.println("#".matches(regex));//false
- System.out.println("============");
- }
- public static void demo4() {
- String regex = "[a-d[m-p]]";//a-d或者m-p的全部字母
- System.out.println("a".matches(regex));//true
- System.out.println("d".matches(regex));//true
- System.out.println("m".matches(regex));//true
- System.out.println("p".matches(regex));//true
- System.out.println("1".matches(regex));//false
- System.out.println("#".matches(regex));//false
- System.out.println("================");
- }
- public static void demo3() {
- String regex = "[a-zA-Z]";//a-z A-Z之间的全部字符,包含头和尾的字符
- System.out.println("a".matches(regex));//true
- System.out.println("b".matches(regex));//true
- System.out.println("A".matches(regex));//true
- System.out.println("B".matches(regex));//true
- System.out.println("1".matches(regex));//false
- System.out.println("#".matches(regex));//false
- System.out.println("===============");
- }
- public static void demo2() {
- String regex = "[^abc]";//除了a b c 以外的任何字符
- System.out.println("a".matches(regex));//false
- System.out.println("b".matches(regex));//false
- System.out.println("c".matches(regex));//false
- System.out.println("d".matches(regex));//true
- System.out.println("1".matches(regex));//true
- System.out.println("#".matches(regex));//true
- System.out.println("================");
- }
- public static void demo1() {
- String regex = "[abc]";//字符a b 或者c中的其中一个字符
- System.out.println("a".matches(regex));//true
- System.out.println("b".matches(regex));//true
- System.out.println("c".matches(regex));//true
- System.out.println("d".matches(regex));//false
- System.out.println("1".matches(regex));//false
- System.out.println("#".matches(regex));//false
- System.out.println("=================");
- }
- }
评论前必须登录!
注册