首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

在JAVA中运用正则表达式

2012-09-10 
在JAVA中使用正则表达式  jdk1.4中加入了java.util.regex包提供对正则表达式的支持。而且Java.lang.String

在JAVA中使用正则表达式

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

  }

  %>(www.csdn.net)?

热点排行