在JAVA中使用正则表达式

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

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

<%@pageimport="java.util.regex.*"%>

<%

Patternp=null;//正则表达式

Matcherm=null;//操作的字符串

booleanb;

Strings=null;

StringBuffersb=null;

inti=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("onecattwocatsintheyard");

sb=newStringBuffer();

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("onecattwocatsintheyard");

sb=newStringBuffer();

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("onecattwocatsintheyard");

  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("dsadafdsfdsaaafdsafdsaaf");

sb=newStringBuffer();

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("onecattwocatsintheyard");

sb=newStringBuffer();

while(m.find()){

m.appendReplacement(sb,"cat");

}

m.appendTail(sb);

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

Stringaa=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("caaaaaat",0);

for(i=0;i

{

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

}

p=Pattern.compile("+");

a=p.split("caaaaaat",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>");

}

%>(www.csdn.net)

相关推荐