美文网首页
正则表达式 Java 入门二

正则表达式 Java 入门二

作者: CNSTT | 来源:发表于2018-11-28 17:43 被阅读0次

前言:

在正则表达式中,[] () {} 区分各自的使用场景

1、方括号 [ ]

[] 定义匹配的某一个字符范围

String str = "abcdefghijk";      //源字符串
模式:[a-c]        //表示字符范围是a、b、c中任意一个字符
String newstr = str.replaceAll("[a-c]", "");
System.out.println(newstr); 
输出:defghijkl
模式:[a-c[f-i]]        //表示字符范围是a~c或f~i的字符(并集运算)
String newstr = str.replaceAll("[a-c]", "");
输出:  dejkl
模式:[a-g&&[c-i]]        //表示字符范围是a~g和c~i共有的字符(交集运算)
String newstr = str.replaceAll("[a-g&&[c-i]]", "");    //即替换c、d、e、f、g、h、i
输出:  abhijkl
模式:[^cfghi]        //表示字符范围是^除了cfg的任意字符
String newstr = str.replaceAll("[^cfghi]", "");    //即替换a、b、d、e、j、k
输出:  cfghi

2、花括号 { }

{} 定义字符出现的次数

模式:a?        //表示字符中出现'a'  0次或1次
System.out.println(Pattern.matches("a?", "aa")); 
输出:  false
模式:a*        //表示字符中出现'a'  0次或n次
System.out.println(Pattern.matches("a*", "aaa"));    
输出:  true
模式:a+        //表示字符中出现'a'  1次或n次
System.out.println(Pattern.matches("a+", ""));    
输出:  false
模式:a{n}        //表示字符中正好出现'a'  n次
System.out.println(Pattern.matches("a{3}", "aaa"));    
输出:  true
模式:a{n,}        //表示字符中至少出现'a'  n次 包含n
System.out.println(Pattern.matches("a{3,}", "aa"));     
输出:  false
模式:a{n,m}        //表示字符中出现'a'  n-m次
System.out.println(Pattern.matches("a{3,5}", "aaaaa"));    
输出:  true

3、圆括号 ( )

() 为了提取匹配字符串的,括号内的当做一组来处理。

模式:(a|b|c)        //表示字符为a或者b或者c
System.out.println(Pattern.matches("(com|net|cn)", "com"));
输出:  true

相关文章

网友评论

      本文标题:正则表达式 Java 入门二

      本文链接:https://www.haomeiwen.com/subject/jizbqqtx.html