一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

java怎么用正则?Java正则表达式的基本用法

时间:2017-02-15 编辑:简简单单 来源:一聚教程网

Java正则表达式主要有两个类:Pattern和Matcher。

Pattern表示正则表达式的编译形式。

Matcher表示执行匹配操作的引擎。

下面通过几个例子展示两个类的使用方法。

matches方法:

  1. package com.zzj.regex;  

  2. import java.util.regex.Matcher;  

  3. import java.util.regex.Pattern;  

  4. public class MatchesTest {  

  5.     public static void main(String[] args) {  

  6.         Pattern pattern = Pattern.compile("\\w+");  

  7.         Matcher matcher = pattern.matcher("abc123");  

  8.         System.out.println(matcher.matches()); // 尝试将整个字符序列与该模式匹配  

  9.         matcher = pattern.matcher("abc&&123");  

  10.         System.out.println(matcher.matches());  

  11.     }  

  12. }  

测试结果:

  1. true  

  2. false  

find方法:

  1. package com.zzj.regex;  

  2. import java.util.regex.Matcher;  

  3. import java.util.regex.Pattern;  

  4. public class FindTest {  

  5.     public static void main(String[] args) {  

  6.         Pattern pattern = Pattern.compile("\\w+");  

  7.         Matcher matcher = pattern.matcher("abc&&123");  

  8.         System.out.println(matcher.find()); // 查找匹配该模式的下一个子序列  

  9.         System.out.println(matcher.find());  

  10.         System.out.println(matcher.find());  

  11.         System.out.println(matcher.find());  

  12.     }  

  13. }  

测试结果:

  1. true  

  2. true  

  3. false  

  4. false  

group方法1:

  1. package com.zzj.regex;  

  2. import java.util.regex.Matcher;  

  3. import java.util.regex.Pattern;  

  4. /** 

  5.  * 打印匹配到的子序列 

  6.  * @author Administrator 

  7.  * 

  8.  */  

  9. public class GroupTest1 {  

  10.     public static void main(String[] args) {  

  11.         Pattern pattern = Pattern.compile("\\w+");  

  12.         Matcher matcher = pattern.matcher("abc&&123");  

  13.         while(matcher.find()){  

  14.             System.out.println(matcher.group());  

  15.         }  

  16.     }  

  17. }  

测试结果:

  1. abc  

  2. 123  

group方法2:

  1. package com.zzj.regex;  

  2. import java.util.regex.Matcher;  

  3. import java.util.regex.Pattern;  

  4. /** 

  5.  * 分组 

  6.  * @author Administrator 

  7.  * 

  8.  */  

  9. public class GroupTest2 {  

  10.     public static void main(String[] args) {  

  11.         Pattern pattern = Pattern.compile("([a-z]+)([0-9]+)");  

  12.         Matcher matcher = pattern.matcher("abc123&&def456");  

  13.         while(matcher.find()){  

  14.             System.out.println(matcher.group(0)); // 等价于matcher.group()  

  15.             System.out.println(matcher.group(1));  

  16.             System.out.println(matcher.group(2));  

  17.         }  

  18.     }  

  19. }  

测试结果:

  1. abc123  

  2. abc  

  3. 123  

  4. def456  

  5. def  

  6. 456 

热门栏目