在JAVA中使用正则表达式

来源:互联网 发布:赣南脐橙淘宝宣传语 编辑:程序博客网 时间:2024/06/18 02:42
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
 

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

  }

%>

<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击