Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14490171
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 21:39:40

下载本文示例代码
  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, "<font color=\"red\">cat</font>");}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<a.length;i ){out.println(a[i] "<br>");}p = Pattern.compile("a ");a=p.split("c aa aaaa t",0);for(i=0;i<a.length;i ){out.println(a[i] "<br>");}p = Pattern.compile(" ");a=p.split("c aa aaaa t",0);for(i=0;i<a.length;i ){out.println(a[i] "<br>");}p = Pattern.compile("\\ ");a=p.split("dsafasdfdsafsda dsagfasdfa sdafds");out.println(a.length "<br>");for(i=0;i<a.length;i ){out.println(a[i] "<br>");}%>   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, "<font color=\"red\">cat</font>");}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<a.length;i ){out.println(a[i] "<br>");}p = Pattern.compile("a ");a=p.split("c aa aaaa t",0);for(i=0;i<a.length;i ){out.println(a[i] "<br>");}p = Pattern.compile(" ");a=p.split("c aa aaaa t",0);for(i=0;i<a.length;i ){out.println(a[i] "<br>");}p = Pattern.compile("\\ ");a=p.split("dsafasdfdsafsda dsagfasdfa sdafds");out.println(a.length "<br>");for(i=0;i<a.length;i ){out.println(a[i] "<br>");}%> 下载本文示例代码


在Java中使用正则表达式在Java中使用正则表达式在Java中使用正则表达式在Java中使用正则表达式在Java中使用正则表达式在Java中使用正则表达式在Java中使用正则表达式在Java中使用正则表达式在Java中使用正则表达式在Java中使用正则表达式在Java中使用正则表达式在Java中使用正则表达式在Java中使用正则表达式在Java中使用正则表达式在Java中使用正则表达式
阅读(129) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~