下载本文示例代码
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中使用正则表达式
阅读(150) | 评论(0) | 转发(0) |