- 浏览: 41683 次
最新评论
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">
发表评论
-
“千年传承,再续辉煌”--广东阳江漠阳剑派
2014-10-31 00:33 1重剑无锋,大音希声,周星驰说折凳是最好的武器,我说看似嘻 ... -
数组、字符串
2012-07-06 09:51 7831 一维数组 数 ... -
java 正则表达式
2012-07-06 09:37 726[b]Java [/b][b]正则表达式 [/b]在计算机 ... -
Flash CS5 用户自定义Button组件
2012-07-06 09:29 13122010/12/24 Flash CS5 用户自定义But ... -
自己写的自动完成js插件源码
2012-07-05 20:44 620经测试,此插件兼容ie,chrome,firefox。 / ... -
005_《Delphi6组件大全》
2012-07-03 13:42 996Delphi 教程系列书籍 (005) 《Delphi6组 ... -
005_《Delphi6组件大全》
2012-07-03 12:16 589Delphi 教程系列书籍 (005) 《Delphi6组 ... -
关于flexigrid一点用法
2012-07-02 10:12 808闲来无事在网上找了一个jquery的grid插件 flex ... -
jsp页面
2012-07-02 10:12 704做人,生活,学习,玩.... ... -
Mate-基于标签的框架
2012-07-02 10:12 774Mate 将会成为Flex领域的另一个热点。它使用设置(c ... -
Flex中要想使图表的横坐标轴标签成45度显示(2)
2012-07-02 10:11 834从外部引入样式 1.在外部src/assets目录文 ... -
Flex获取操作XML示例
2012-07-01 09:32 689/****** ".",&qu ... -
The architecture of Flex and Java applications two (Flex 和 Java 应用程序架构 2)
2012-07-01 09:31 946Flex and Java application ... -
Flex编程学习基础
2012-07-01 09:31 752Flex是Adobe公司推出 ... -
使用HTTPService读取远程XML文件为TREE赋值的例子
2012-07-01 09:31 711在FLEX4中 使用一个HTTPService 读取远程的 ... -
flex 通过HTTPService与php通信
2012-07-01 09:31 787最近研究HTTPService与php通信,去网上查了好多 ... -
解决Flex4 发布后访问 初始化极其缓慢的问题
2012-06-30 11:16 1378解决Flex4 发布后访问 初始化极其缓慢的问题 2011年 ... -
flex builder 3, flex builder 4下载与安装
2012-06-30 11:16 938flex builder 3, flex builder 4 ... -
Flex4之使用ActionScript构建组件
2012-06-30 11:16 571Flex4之使用ActionScript构 ... -
flex 开源项目组件大全
2012-06-30 11:16 1113flex 开源项目组件大全 2010年09月13日 Fl ...
相关推荐
Java中正则表达式使用方法详解.docx 网上搜集的Java中正则表达式使用方法详解
JAVA中正则表达式的应用 个人在网上 自己在家里写一些 java中常用的正则表达式 文件格式doc
java中正则表达式Pattern类的应用,基本上用来验证之类的应用
在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/ 或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则...
主要介绍了java中正则表达式实例详解的相关资料,需要的朋友可以参考下
java程序开发一些较实用的正则表达式用法,简单易懂,希望对广大程序员朋友有所帮助。
js中正则表达式的使用js中正则表达式的使用js中正则表达式的使用js中正则表达式的使用js中正则表达式的使用js中正则表达式的使用js中正则表达式的使用
获取每次使用引起小损失的分组。如果你实际并不需要获取一个分组内的文本,那么就使用非捕获分组。
《正则表达式经典实例》:每个程序员都会遇到需要使用正则表达式的情况,但是要用好正则表达式却并不容易。《正则表达式经典实例》提供了100多个实例,以帮助读者使用正则表达式处理数据和文本。即使有经验的用户也...
本文主要介绍了关于Oracle中正则表达式的使用方法,下面话不多说了,来一起看看详细的介绍。 Oracle使用正则表达式离不开这4个函数:regexp_like、regexp_substr、regexp_instr、regexp_replace。 regexp_like 该...
NULL 博文链接:https://summerbell.iteye.com/blog/611838
ABAP中正则表达式的简单使用
有重点和调理,一看就会了. 只要涉及java两个类
php中正则表达式,主要是平常常用的正则表达式匹配使用
javascript中正则表达式用法详解