`
gzg844cz
  • 浏览: 42091 次
社区版块
存档分类
最新评论

java中正则表达式运用实例(用String类的matches方法演示)

 
阅读更多

  java中正则表达式运用实例(参看java中正则表达式运用详解): 测试代码 type="application/x-shockwave-flash" width="14" height="15" src="http://fhd001.javaeye.com/javascripts/syntaxh ighlighter/clipboard_new.swf" pluginspage="http://www.macromedia.com/go/getflash player" allowscriptaccess="always" quality="high" flashvars="clipboard=package%20test%3B%0A%2F**%0A% 20*%20%E5%9C%A8String%E7%9A%84matches()%E6%96%B9%E6 %B3%95%2Csplit()%E6%96%B9%E6%B3%95%E4%B8%AD%E4%BD%B F%E7%94%A8%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%B C%8F.%0A%20*%20%40author%20fhd001%0A%20*%2F%0Apubli c%20class%20RegexTest%20%7B%0A%0A%09public%20static %20void%20main(String%5B%5D%20args)%20%7B%0A%0A%09% 09%2F*%0A%09%09%20*%20%E6%99%AE%E9%80%9A%E5%AD%97%E 7%AC%A6%0A%09%09%20*%2F%0A%09%09String%20str1%20%3D %20%22abc45abc345%22%3B%0A%09%09String%5B%5Darr1%20 %3D%20str1.split(%22abc%22)%3B%0A%09%09for%20(Strin g%20string%20%3A%20arr1)%20%7B%0A%09%09%09System.ou t.print(string%2B%22--%3E%22)%3B%0A%09%09%7D%0A%09% 09System.out.println()%3B%0A%09%09%0A%09%09%0A%09%0 9%2F*%0A%09%09%20*%20%E7%AE%80%E5%8D%95%E7%9A%84%E8 %BD%AC%E4%B9%89%E5%AD%97%E7%AC%A6%0A%09%09%20*%20%E 5%9C%A8java%E4%B8%AD%E8%BD%AC%E4%B9%89%E5%AD%97%E7% AC%A6%E6%97%B6%E4%B8%80%E5%AE%9A%E8%A6%81%E7%94%A8% E5%8F%8C%E5%8F%8D%E6%96%9C%E7%BA%BF%2C%E4%B8%A4%E4% B8%AA%E6%96%9C%E7%BA%BF%E8%BD%AC%E4%B9%89%E6%88%90% E4%B8%80%E4%B8%AA%E6%96%9C%E7%BA%BF%2C%0A%09%09%20* %20%E5%9C%A8%E7%94%A8%E8%BF%99%E4%B8%AA%E6%96%9C%E7 %BA%BF%E5%AD%97%E7%AC%A6%E8%BD%AC%E4%B9%89%E9%82%A3 %E4%BA%9B%E7%89%B9%E6%AE%8A%E5%AD%97%E7%AC%A6.%0A%0 9%09%20*%2F%0A%09%09String%20str2%20%3D%20%22%5E%24 ()%5B%5D%7B%7D.%3F%2B*%7C%22%3B%0A%09%09boolean%20f lag%20%3D%20str2.matches(%22%5C%5C%5E%5C%5C%24%5C%5 C(%5C%5C)%5C%5C%5B%5C%5C%5D%5C%5C%7B%5C%5C%7D%5C%5C .%5C%5C%3F%5C%5C%2B%5C%5C*%5C%5C%7C%22)%3B%0A%09%09 System.out.println(flag)%3B%0A%09%09%0A%09%09%0A%09 %09%2F*%0A%09%09%20*%20%E8%BD%AC%E4%B9%89%E5%AD%97% E7%AC%A6%20%5CQ...%5CE.%0A%09%09%20*%2F%0A%09%09Str ing%20str3%20%3D%20%22%5E%24()%5B%5D%7B%7D.%3F%2B*% 7C99999%22%3B%0A%09%09boolean%20flag2%20%3D%20str3. matches(%22%5C%5CQ%5E%24()%5B%5D%7B%7D.%3F%2B*%7C%5 C%5CE%5C%5Cd%7B5%7D%22)%3B%0A%09%09System.out.print ln(flag2)%3B%0A%09%09%0A%09%09%0A%09%09%2F*%0A%09%0 9%20*%20%E5%AD%97%E7%AC%A6%E9%9B%86%E5%90%88%0A%09% 09%20*%2F%0A%09%09String%20str4%20%3D%20%22dfddri33 4%22%3B%0A%09%09boolean%20flag4%20%3D%20str4.matche s(%22.%2B%22)%3B%0A%09%09System.out.println(flag4)% 3B%0A%09%09%0A%09%09String%20str5%20%3D%20%22%23%24 %25%5E*())%25%22%3B%0A%09%09boolean%20flag5%20%3D%2 0str5.matches(%22%5C%5CW%7B9%7D%22)%3B%0A%09%09Syst em.out.println(flag5)%3B%0A%09%09%0A%09%09String%20 str6%20%3D%20%224gffmdkekrhhr%22%3B%0A%09%09boolean %20flag6%20%3D%20str6.matches(%22%5C%5Cw%2B%22)%3B% 0A%09%09System.out.println(flag6)%3B%0A%09%09%0A%09 %09String%20str7%20%3D%20%22fjfdke%20%20%20%20eett% 20%22%3B%0A%09%09boolean%20flag7%20%3D%20str7.match es(%22%5C%5Cw%2B%5C%5Cs%2B%5C%5Cw%7B4%7D%5C%5Cs%3F% 22)%3B%0A%09%09System.out.println(flag7)%3B%0A%09%0 9%0A%09%09String%20str8%20%3D%20%22%20%20%20erefff% 20%20%20%20%22%3B%0A%09%09boolean%20flag8%20%3D%20s tr8.matches(%22%5C%5Cs%2B%5C%5CS%2B%5C%5Cs%2B%22)%3 B%0A%09%09System.out.println(flag8)%3B%0A%09%09%0A% 09%09String%20str9%20%3D%20%22456776888%22%3B%0A%09 %09boolean%20flag9%20%3D%20str9.matches(%22%5C%5Cd% 2B%22)%3B%0A%09%09System.out.println(flag9)%3B%0A%0 9%09%0A%09%09%0A%09%09String%20str10%20%3D%20%22rty dfgrgwvr%20%20%22%3B%0A%09%09boolean%20flag10%20%3D %20str10.matches(%22%5C%5CD%2B%22)%3B%0A%09%09Syste m.out.println(flag10)%3B%0A%09%09%0A%09%09%0A%09%09 %2F*%0A%09%09%20*%20%E8%87%AA%E5%AE%9A%E4%B9%89%E5% AD%97%E7%AC%A6%E9%9B%86%E5%90%88%20%5B%20%5D%0A%09% 09%20*%2F%0A%09%09String%20str11%20%3D%20%22fdfeetg %20%2034566%22%3B%0A%09%09boolean%20flag11%20%3D%20 str11.matches(%22%5Bfdetg%5D%2B%5C%5Cs%2B%5B3-6%5D% 2B%22)%3B%0A%09%09System.out.println(flag11)%3B%0A% 09%09%0A%09%09%0A%09%09String%20str12%20%3D%20%22rt yuie%20%20%205768%22%3B%0A%09%09boolean%20flag12%20 %3D%20str12.matches(%22%5B%5Eabcdf%5D%2B%5C%5Cs%2B% 5B%5E1234%5D%2B%22)%3B%0A%09%09System.out.println(f lag12)%3B%0A%09%09%0A%09%09%0A%09%09%2F*%0A%09%09%2 0*%20%E5%8C%B9%E9%85%8D%E6%AC%A1%E6%95%B0%E9%99%90% E5%AE%9A%E7%AC%A6%0A%09%09%20*%2F%0A%09%09%0A%09%09 %2F%2F%E8%B4%AA%E5%A9%AA%E6%A8%A1%E5%BC%8F%0A%09%09 String%20str13%20%3D%20%22ytreggcv454444444333%22%3 B%0A%09%09boolean%20flag13%20%3D%20str13.matches(%2 2%5C%5Cw%7B20%7D%22)%3B%0A%09%09System.out.println( flag13)%3B%0A%09%09%0A%09%09boolean%20flag14%20%3D% 20str13.matches(%22%5C%5Cw%7B10%2C21%7D%22)%3B%0A%0 9%09System.out.println(flag14)%3B%0A%09%09%0A%09%09 boolean%20flag15%20%3D%20str13.matches(%22%5C%5Cw%7 B18%2C%7D%22)%3B%0A%09%09System.out.println(flag15) %3B%0A%09%09%0A%09%09String%20str14%20%3D%20%224%22 %3B%0A%09%09boolean%20flag16%20%3D%20str14.matches( %22%5C%5Cd%3F%22)%3B%0A%09%09System.out.println(fla g16)%3B%0A%09%09%0A%09%09String%20str15%20%3D%20%22 ddcvgt%22%3B%0A%09%09boolean%20flag17%20%3D%20str15 .matches(%22%5C%5CD%2B%5C%5Cd%3F%22)%3B%0A%09%09Sys tem.out.println(flag17)%3B%0A%09%09%0A%09%09String% 20str16%20%3D%20%22e33tf44t44t%22%3B%0A%09%09boolea n%20flag18%20%3D%20str16.matches(%22%5C%5Cw%2B%5C%5 CW*%22)%3B%0A%09%09System.out.println(flag18)%3B%0A %09%09%0A%09%09%2F%2F%E5%8B%89%E5%BC%BA%E6%A8%A1%E5 %BC%8F(%E5%8F%AA%E4%B8%BE%E4%B8%80%E4%BE%8B)%0A%09% 09String%20str17%20%3D%20%2234567ghjkkld%22%3B%0A%0 9%09boolean%20flag19%20%3D%20str17.matches(%22%5C%5 Cd%7B2%2C7%7D%3F%5C%5Cw%7B8%2C11%7D%22)%3B%0A%09%09 System.out.println(flag19)%3B%0A%09%09%0A%09%09%2F% 2F%E5%8D%A0%E6%9C%89%E6%A8%A1%E5%BC%8F(%E5%8F%AA%E4 %B8%BE%E4%B8%80%E4%BE%8B)%0A%09%09String%20str18%20 %3D%20%2222222ddddd%22%3B%0A%09%09boolean%20flag20% 20%3D%20str18.matches(%22%5C%5Cd%7B2%2C5%7D%2B%5C%5 Cw%7B6%7D%22)%3B%0A%09%09System.out.println(flag20) %3B%0A%09%09%0A%09%09%2F*%0A%09%09%20*%20%E5%AD%97% E7%AC%A6%E8%BE%B9%E7%95%8C%0A%09%09%20*%2F%0A%09%09 String%20str19%20%3D%20%22a444545rot44tm%22%3B%0A%0 9%09boolean%20flag21%20%3D%20str19.matches(%22%5Ea% 5C%5Cw%2Bm%24%22)%3B%0A%09%09System.out.println(fla g21)%3B%0A%09%09%0A%09%09%0A%09%09%2F*%0A%09%09%20* %20%E9%80%89%E6%8B%A9%E8%A1%A8%E8%BE%BE%E5%BC%8F%20 xxx%20%7C%20xxx%0A%09%09%20*%2F%0A%09%09String%20st r20%20%3D%20%22abc123abc%22%3B%0A%09%09boolean%20fl ag22%20%3D%20str20.matches(%22(abc%7C123)%7B3%7D%22 )%3B%0A%09%09System.out.println(flag22)%3B%0A%09%09 %0A%09%09%0A%09%09%2F*%0A%09%09%20*%20%E5%88%86%E7% BB%84%20(%20).%0A%09%09%20*%20%E4%BB%A5%E4%B8%8A%E4 %BF%AE%E9%A5%B0%E7%AC%A6%E9%83%BD%E6%98%AF%E9%92%88 %E5%AF%B9%E4%B8%80%E4%B8%AA%E5%AD%97%E7%AC%A6%E8%BF %9B%E8%A1%8C%E4%BF%AE%E9%A5%B0.%E5%A6%82%E6%9E%9C%E 8%A6%81%E5%AF%B9%E4%B8%80%E7%BB%84%E5%AD%97%E7%AC%A 6%E8%BF%9B%E8%A1%8C%0A%09%09%20*%20%E4%BF%AE%E9%A5% B0%E5%B0%B1%E8%A6%81%E7%94%A8%E5%88%B0()%0A%09%09%2 0*%2F%0A%09%09String%20str21%20%3D%20%22123qwe123qw e%22%3B%0A%09%09boolean%20flag23%20%3D%20str21.matc hes(%22(123qwe)%7B2%7D%22)%3B%0A%09%09System.out.pr intln(flag23)%3B%0A%09%09%0A%09%09%0A%09%09%2F*%0A% 09%09%20*%20%5B%5D%E4%B8%AD%E7%9A%84%E4%BA%A4%E9%9B %86%E4%B8%8E%E5%B9%B6%E9%9B%86%0A%09%09%20*%2F%0A%0 9%09String%20str22%20%3D%20%22abcdefgh1234567%22%3B %0A%09%09boolean%20flag24%20%3D%20str22.matches(%22 %5Ba-z1-9%5D%2B%22)%3B%09%09%2F%2F%E5%B9%B6%E9%9B%8 6%0A%09%09System.out.println(flag24)%3B%0A%09%09%0A %09%09boolean%20flag25%20%3D%20str22.matches(%22%5B a-z1-9%26%26%5Ba-h1-7%5D%5D%2B%22)%3B%20%2F%2F%E4%B A%A4%E9%9B%86%0A%09%09System.out.println(flag25)%3B %0A%09%7D%0A%7D%0A">
  package test;  
  /**  
  * 在String的matches()方法,split()方法中使用正则表达式.  
  * @author fhd001  
  */  
  public class RegexTest {  
  public static void main(String[] args) {  
  /*  
  * 普通字符  
  */  
  String str1 = "abc45abc345";  
  String[]arr1 = str1.split("abc");  
  for (String string : arr1) {  
  System.out.print(string+"-->");  
  }  
  System.out.println();  
  /*  
  * 简单的转义字符  
  * 在java中转义字符时一定要用双反斜线,两个斜线转义成一个斜线,  
  * 在用这个斜线字符转义那些特殊字符.  
  */  
  String str2 = "^$()[]{}.?+*|";  
  boolean flag = str2.matches("\\^\\$\\(\\)\\[\\]\\{\\}\\.\\?\\+\\*\\|");  
  System.out.println(flag);  
  /*  
  * 转义字符 \Q...\E.  
  */  
  String str3 = "^$()[]{}.?+*|99999";  
  boolean flag2 = str3.matches("\\Q^$()[]{}.?+*|\\E\\d{5}");  
  System.out.println(flag2);  
  /*  
  * 字符集合  
  */  
  String str4 = "dfddri334";  
  boolean flag4 = str4.matches(".+");  
  System.out.println(flag4);  
  String str5 = "#$%^*())%";  
  boolean flag5 = str5.matches("\\W{9}");  
  System.out.println(flag5);  
  String str6 = "4gffmdkekrhhr";  
  boolean flag6 = str6.matches("\\w+");  
  System.out.println(flag6);  
  String str7 = "fjfdke    eett ";  
  boolean flag7 = str7.matches("\\w+\\s+\\w{4}\\s?");  
  System.out.println(flag7);  
  String str8 = "   erefff    ";  
  boolean flag8 = str8.matches("\\s+\\S+\\s+");  
  System.out.println(flag8);  
  String str9 = "456776888";  
  boolean flag9 = str9.matches("\\d+");  
  System.out.println(flag9);  
  String str10 = "rtydfgrgwvr  ";  
  boolean flag10 = str10.matches("\\D+");  
  System.out.println(flag10);  
  /*  
  * 自定义字符集合 [ ]  
  */  
  String str11 = "fdfeetg  34566";  
  boolean flag11 = str11.matches("[fdetg]+\\s+[3-6]+");  
  System.out.println(flag11);  
  String str12 = "rtyuie   5768";  
  boolean flag12 = str12.matches("[^abcdf]+\\s+[^1234]+");  
  System.out.println(flag12);  
  /*  
  * 匹配次数限定符  
  */  
  //贪婪模式  
  String str13 = "ytreggcv454444444333";  
  boolean flag13 = str13.matches("\\w{20}");  
  System.out.println(flag13);  
  boolean flag14 = str13.matches("\\w{10,21}");  
  System.out.println(flag14);  
  boolean flag15 = str13.matches("\\w{18,}");  
  System.out.println(flag15);  
  String str14 = "4";  
  boolean flag16 = str14.matches("\\d?");  
  System.out.println(flag16);  
  String str15 = "ddcvgt";  
  boolean flag17 = str15.matches("\\D+\\d?");  
  System.out.println(flag17);  
  String str16 = "e33tf44t44t";  
  boolean flag18 = str16.matches("\\w+\\W*");  
  System.out.println(flag18);  
  //勉强模式(只举一例)  
  String str17 = "34567ghjkkld";  
  boolean flag19 = str17.matches("\\d{2,7}?\\w{8,11}");  
  System.out.println(flag19);  
  //占有模式(只举一例)  
  String str18 = "22222ddddd";  
  boolean flag20 = str18.matches("\\d{2,5}+\\w{6}");  
  System.out.println(flag20);  
  /*  
  * 字符边界  
  */  
  String str19 = "a444545rot44tm";  
  boolean flag21 = str19.matches("^a\\w+m$");  
  System.out.println(flag21);  
  /*  
  * 选择表达式 xxx | xxx  
  */  
  String str20 = "abc123abc";  
  boolean flag22 = str20.matches("(abc|123){3}");  
  System.out.println(flag22);  
  /*  
  * 分组 ( ).  
  * 以上修饰符都是针对一个字符进行修饰.如果要对一组字符进行  
  * 修饰就要用到()  
  */  
  String str21 = "123qwe123qwe";  
  boolean flag23 = str21.matches("(123qwe){2}");  
  System.out.println(flag23);  
  /*  
  * []中的交集与并集  
  */  
  String str22 = "abcdefgh1234567";  
  boolean flag24 = str22.matches("[a-z1-9]+");        //并集  
  System.out.println(flag24);  
  boolean flag25 = str22.matches("[a-z1-9&&[a-h1-7]]+"); //交集  
  System.out.println(flag25);  
  }   }  
  结果代码 type="application/x-shockwave-flash" width="14" height="15" src="http://fhd001.javaeye.com/javascripts/syntaxh ighlighter/clipboard_new.swf" pluginspage="http://www.macromedia.com/go/getflash player" allowscriptaccess="always" quality="high" flashvars="clipboard=--%3E45--%3E345--%3E%0Atrue%0 Atrue%0Atrue%0Atrue%0Atrue%0Atrue%0Atrue%0Atrue%0At rue%0Atrue%0Atrue%0Atrue%0Atrue%0Atrue%0Atrue%0Atru e%0Atrue%0Atrue%0Afalse%0Atrue%0Atrue%0Atrue%0Atrue %0Atrue%0A">
分享到:
评论

相关推荐

    Java中正则表达式使用方法详解

    在Java中,正则表达式通过`java.util.regex`包提供的类来支持,主要包括`Pattern`、`Matcher`和`PatternSyntaxException`等。 1. **Pattern类**: `Pattern`类是用于编译正则表达式的,它将正则表达式转换为一个...

    C#中正则表达式的运用

    下面,我们将深入探讨C#中正则表达式的运用,并通过实例解析其工作原理。 1. 正则表达式基础 - 定义:正则表达式是由特殊字符(元字符)和普通字符组成的字符串,用来描述一种字符串模式。 - 元字符:例如 `.` ...

    C# 中正则表达式的总结

    本篇文章将深入探讨C#中正则表达式的基本概念、常用方法和一些实用技巧。 一、正则表达式基础 1. 字符类: - 数字:`\d`(等同于[0-9]) - 非数字:`\D`(等同于[^0-9]) - 字母:`\w`(等同于[a-zA-Z0-9_]) ...

    java正则表达式资料

    本资料主要涵盖Java中正则表达式的使用方法、语法特点以及相关API的详细解释。 在Java中,正则表达式的操作主要通过`java.util.regex`包来实现。这个包包含三个核心类:Pattern、Matcher和PatternSyntaxException。...

    Java正则表达式教程

    Java正则表达式教程是为那些想要深入了解Java编程语言中正则表达式使用方法的初学者准备的。正则表达式(Regular Expression)是一种强大的文本处理工具,它用于模式匹配、搜索、替换等操作,广泛应用于字符串处理和...

    java中的正则表达式

    以上就是Java中正则表达式的基本概念和使用方法。掌握这些知识点后,可以解决大多数字符串处理的需求,例如数据验证、文本分析等。通过不断地实践和学习,你可以更深入地理解和运用正则表达式,提高代码的效率和灵活...

    正则表达式 操作 匹配 读取

    首先,`matches()`方法是Java `String`类中的一个函数,它接收一个正则表达式作为参数,并尝试在整个字符串中进行匹配。如果整个字符串都能匹配给定的正则表达式,那么`matches()`会返回`true`,否则返回`false`。 ...

    C下利用正则表达式实现字符串搜索功能方法.pdf

    本文主要围绕C#中正则表达式的基础知识、字符串搜索以及.NET框架内的相关类进行阐述。 1、正则表达式简介: 正则表达式提供了一种高效且灵活的方法来处理文本。它们可以用来快速分析大量文本,寻找特定的字符模式,...

    正则表达式

    通过以上介绍,我们了解了Java中正则表达式的基本概念、使用方法以及一些高级特性。熟练掌握正则表达式,能极大地提高我们处理文本数据的效率和准确性。在实际编程中,我们可以结合具体需求灵活运用这些知识,解决...

    基于java中正则操作的方法总结

    在Java中,我们可以使用`String`类的`matches()`方法来检查一个字符串是否符合特定的正则表达式模式。例如,实例1中,我们定义了一个正则表达式`"[1-9][0-9]{4,10}"`,这个正则模式匹配的是以1到9开头,后面跟着4到...

    C#中使用正则表达式

    下面将详细讲解C#中正则表达式的使用方法和常见应用场景。 1. **正则表达式基础** - **模式匹配**:正则表达式可以用来检查一个字符串是否符合特定的模式。例如,`^\d{3}-\d{4}$`可以用来验证电话号码格式。 - **...

    C#字符串和正则表达式参考手册

    7. C#中正则表达式的使用:演示如何在C#代码中实例化和使用Regex类。 8. 性能优化:讨论处理大量字符串和正则表达式时的性能考虑和最佳实践。 9. 实战示例:提供实际应用场景的案例,帮助读者巩固理解并应用所学知识...

    C#与正则表达式手册

    《C#与正则表达式手册》是一本深入探讨C#编程语言中正则表达式应用的专业指南。正则表达式在软件开发中扮演着重要角色,尤其在数据验证、文本处理和搜索替换等方面,其强大的模式匹配能力使得开发者能够高效地处理...

    Java正则判断日期格式是否正确的方法示例

    Java正则判断日期格式是否正确的方法示例主要介绍了Java正则判断日期格式是否正确的方法,结合实例形式分析了Java针对日期字符串正则判断的相关操作技巧。下面是Java正则判断日期格式是否正确的方法的详细介绍: 一...

Global site tag (gtag.js) - Google Analytics