Java正则表达式详解(下)

1/5/2008来源:Java教程人气:6077


  3.3 Html处理实例二 
  
  下面我们来看看另一个处理HTML的例子。这一次,我们假定Web服务器从widgets.acme.com移到了newserver.acme.com。现在你要修改一些页面中的链接:
  Java正则表达式详解(下)(图一)


  执行这个搜索的正则表达式如图十三所示:
  Java正则表达式详解(下)(图二)
点击查看大图

  图十三:匹配修改前的链接
  假如能够匹配这个正则表达式,你可以用下面的内容替换图十三的链接: 
   Java正则表达式详解(下)(图三)
  注重#字符的后面加上了$1。Perl正则表达式语法用$1、$2等表示已经匹配且提取出来的组。图十三的表达式把所有作为一个组匹配和提取出来的内容附加到链接的后面。 
  
  现在,返回java。就象前面我们所做的那样,你必须创建测试字符串,创建把正则表达式编译到Pattern对象所必需的对象,以及创建一个PatternMatcher对象:
   Java正则表达式详解(下)(图四)
  接下来,用com.oroinc.text.regex包Util类的substitute()静态方法进行替换,输出结果字
   Java正则表达式详解(下)(图五)
  Util.substitute()方法的语法如下:
  Java正则表达式详解(下)(图六)
  这个调用的前两个参数是以前创建的PatternMatcher和Pattern对象。第三个参数是一个Substiution对象,它决定了替换操作如何进行。本例使用的是Perl5Substitution对象,它能够进行Perl5风格的替换。第四个参数是想要进行替换操作的字符串,最后一个参数答应指定是否替换模式的所有匹配子串(Util.SUBSTITUTE_ALL),或只替换指定的次数。
  [[The No.7 Picture.]]