网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 认证考试 > Java认证
本月文章推荐
.JAVA认证培训辅导:随机整数的生.
.课程介绍(6)SL-285 高级Java编程.
.考SCJP的失败经历.
.Java语言的12大特色介绍.
.JAVA认证考试价格及认证证书.
.SCJP认证套题解析之五.
.SL-110 课程简介.
.“编程美女”记:立志向编程牛人学.
.经验谈:我学习使用java的一点体会.
.java入门学习指导之最佳方向(下).
.请保持你对Java的敏感度:了其然,.
.为Solaris认证之路画上圆满的句号.
.Jcreater+MotoJ2SDK的配置与使用.
.课程介绍(12)SL-330 Java开发数据.
.Java理论与实践:垃圾收集简史.
.浮躁-你不应是Java程序员的风格.
.Java程序员认证模拟题及详细分析.
.JAVA认证培训辅导:随机整数的生.
.通向程序员的选择-SCJP认证.
.SCJP认证套题解析之三.

在JAVA中使用正则表达式

发表日期:2006-4-7


jdk1.4中加入了java.util.regex包提供对正则表达式的支持。而且Java.lang.String类中的replaceAll和split函数也是调用的正则表达式来实现的。

  正则表达式对字符串的操作主要包括:字符串匹配,指定字符串替换,指定字符串查找和字符串分割。下面就用一个例子来说明这些操作是如何实现的:

   < %@ page import=\"java.util.regex.*\"%>

   < %

   Pattern p=null; //正则表达式

   Matcher m=null; //操作的字符串

   boolean b;

   String s=null;

   StringBuffer sb=null;

   int i=0;

   //字符串匹配,这是不符合的

   p = Pattern.compile(\"a*b\");

   m = p.matcher(\"baaaaab\");

   b = m.matches();

   out.println(b+\"< br>\");

   //字符串匹配,这是符合的

   p = Pattern.compile(\"a*b\");

   m = p.matcher(\"aaaaab\");

   b = m.matches();

   out.println(b+\"< br>\");

   //字符串替换

   p = Pattern.compile(\"ab\");

   m = p.matcher(\"aaaaab\");

   s = m.replaceAll(\"d\");

   out.println(s+\"< br>\");

   p = Pattern.compile(\"a*b\");

   m = p.matcher(\"aaaaab\");

   s = m.replaceAll(\"d\");

   out.println(s+\"< br>\");

   p = Pattern.compile(\"a*b\");
   m = p.matcher(\"caaaaab\");

   s = m.replaceAll(\"d\");

   out.println(s+\"< br>\");

   //字符串查找

   p = Pattern.compile(\"cat\");

   m = p.matcher(\"one cat two cats in the yard\");

   sb = new StringBuffer();

   while (m.find()) {

m.appendReplacement(sb, \"dog\");

i++;

   }

   m.appendTail(sb);

   out.println(sb.toString()+\"< br>\");

   out.println(i+\"< br>\");

   i=0;
   p = Pattern.compile(\"cat\");

   m = p.matcher(\"one cat two ca tsi nthe yard\");

   sb = new StringBuffer();

   while (m.find()) {

m.appendReplacement(sb, \"dog\");

i++;

   }

   m.appendTail(sb);

   out.println(sb.toString()+\"< br>\");

   out.println(i+\"< br>\");





   p = Pattern.compile(\"cat\");

   m = p.matcher(\"one cat two cats in the yard\");

   p=m.pattern();

   m = p.matcher(\"bacatab\");

   b = m.matches();

   out.println(b+\"< br>\");

   s = m.replaceAll(\"dog\");

   out.println(s+\"< br>\");



   i=0;

   p = Pattern.compile(\"(fds){2,}\");

   m = p.matcher(\"dsa da fdsfds aaafdsafds aaf\");

   sb = new StringBuffer();

   while (m.find()) {

m.appendReplacement(sb, \"dog\");

i++;

   }

   m.appendTail(sb);

   out.println(sb.toString()+\"< br>\");

   out.println(i+\"< br>\");



   p = Pattern.compile(\"cat\");

   m = p.matcher(\"one cat two cats in the yard\");

   sb = new StringBuffer();

   while (m.find()) {

m.appendReplacement(sb, \" cat \");

   }

   m.appendTail(sb);

   out.println(sb.toString()+\"< br>\");

   String aa=sb.toString();

   out.println(aa+\"< br>\");

   //字符串分割

   p = Pattern.compile(\"a+\");

   String[] a=p.split(\"caaaaaat\");

   for(i=0;i
   {

   out.println(a[i]+\"< br>\");

   }

   p = Pattern.compile(\"a+\");

   a=p.split(\"c aa aaaa t\",0);

   for(i=0;i

   {

   out.println(a[i]+\"< br>\");

   }

   p = Pattern.compile(\" +\");

   a=p.split(\"c aa aaaa t\",0);

   for(i=0;i

   {

   out.println(a[i]+\"< br>\");

   }

   p = Pattern.compile(\"\\\\+\");

   a=p.split(\"dsafasdfdsafsda+dsagfasdfa+sdafds\");

   out.println(a.length+\"< br>\");

   for(i=0;i

   {

   out.println(a[i]+\"< br>\");

   }

   %>
上一篇:Java语言入门(1) 人气:3405
下一篇:Java语言特点及开发工具JDK 人气:3826
浏览全部Java认证的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐