<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>自助者天助！</title>
    <description>06年6月开始java之旅，目前方向为JEE，对开源世界抱有很大热情！</description>
    <link>http://favey.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>netbeans 6.0 rc2 安装错误，头发都急白了？！</title>
        <author>robert02432004@126.com</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://favey.javaeye.com">robert02432004@126.com</a>&nbsp;
          链接：<a href="http://favey.javaeye.com/blog/144884" style="color:red;">http://favey.javaeye.com/blog/144884</a>&nbsp;
          发表时间: 2007年11月29日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;&nbsp;&nbsp; 在安装netbeans 6.0 rc2(jdk是1.6.0_03)时候，当加载的进度条一结束，就什么也没有了，进程消失了，查看日志后，发现有下面异常:<br />
</p>
<div class="code_title">java 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-j">
    <li class="alt"><span><span>[</span><span class="number">2007</span><span>-</span><span class="number">11</span><span>-</span><span class="number">29</span><span>&nbsp;</span><span class="number">08</span><span>:</span><span class="number">47</span><span>:</span><span class="number">59.625</span><span>]:&nbsp;entering&nbsp;--&nbsp;org.netbeans.installer.Installer.main():</span><span class="number">99</span><span>&nbsp;&nbsp;</span></span> </li>
    <li class=""><span>[</span><span class="number">2007</span><span>-</span><span class="number">11</span><span>-</span><span class="number">29</span><span>&nbsp;</span><span class="number">08</span><span>:</span><span class="number">47</span><span>:</span><span class="number">59.625</span><span>]:&nbsp;starting&nbsp;the&nbsp;installer &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>[</span><span class="number">2007</span><span>-</span><span class="number">11</span><span>-</span><span class="number">29</span><span>&nbsp;</span><span class="number">08</span><span>:</span><span class="number">47</span><span>:</span><span class="number">59.703</span><span>]:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...&nbsp;initializing&nbsp;look&nbsp;and&nbsp;feel &nbsp;&nbsp;</span> </li>
    <li class=""><span>[</span><span class="number">2007</span><span>-</span><span class="number">11</span><span>-</span><span class="number">29</span><span>&nbsp;</span><span class="number">08</span><span>:</span><span class="number">47</span><span>:</span><span class="number">59.703</span><span>]:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...&nbsp;custom&nbsp;look&nbsp;and&nbsp;feel&nbsp;</span><span class="keyword">class</span><span>&nbsp;name&nbsp;was&nbsp;not&nbsp;specified,&nbsp;using&nbsp;system&nbsp;</span><span class="keyword">default</span><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>[</span><span class="number">2007</span><span>-</span><span class="number">11</span><span>-</span><span class="number">29</span><span>&nbsp;</span><span class="number">08</span><span>:</span><span class="number">48</span><span>:</span><span class="number">02.343</span><span>]:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...&nbsp;initializing&nbsp;L&amp;F&nbsp;finished &nbsp;&nbsp;</span> </li>
    <li class=""><span>[</span><span class="number">2007</span><span>-</span><span class="number">11</span><span>-</span><span class="number">29</span><span>&nbsp;</span><span class="number">08</span><span>:</span><span class="number">48</span><span>:</span><span class="number">02.343</span><span>]:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An&nbsp;unexpected&nbsp;exception&nbsp;happened&nbsp;in&nbsp;thread&nbsp;main &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>[</span><span class="number">2007</span><span>-</span><span class="number">11</span><span>-</span><span class="number">29</span><span>&nbsp;</span><span class="number">08</span><span>:</span><span class="number">48</span><span>:</span><span class="number">02.343</span><span>]:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;java.lang.NoClassDefFoundError:&nbsp;Could&nbsp;not&nbsp;initialize&nbsp;</span><span class="keyword">class</span><span>&nbsp;javax.swing.UIManager &nbsp;&nbsp;</span> </li>
    <li class=""><span>[</span><span class="number">2007</span><span>-</span><span class="number">11</span><span>-</span><span class="number">29</span><span>&nbsp;</span><span class="number">08</span><span>:</span><span class="number">48</span><span>:</span><span class="number">02.343</span><span>]:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.netbeans.installer.utils.UiUtils.getLAF(UiUtils.java:</span><span class="number">409</span><span>) &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>[</span><span class="number">2007</span><span>-</span><span class="number">11</span><span>-</span><span class="number">29</span><span>&nbsp;</span><span class="number">08</span><span>:</span><span class="number">48</span><span>:</span><span class="number">02.343</span><span>]:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.netbeans.installer.utils.UiUtils.initializeLookAndFeel(UiUtils.java:</span><span class="number">361</span><span>) &nbsp;&nbsp;</span> </li>
    <li class=""><span>[</span><span class="number">2007</span><span>-</span><span class="number">11</span><span>-</span><span class="number">29</span><span>&nbsp;</span><span class="number">08</span><span>:</span><span class="number">48</span><span>:</span><span class="number">02.343</span><span>]:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.netbeans.installer.wizard.Wizard.open(Wizard.java:</span><span class="number">501</span><span>) &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>[</span><span class="number">2007</span><span>-</span><span class="number">11</span><span>-</span><span class="number">29</span><span>&nbsp;</span><span class="number">08</span><span>:</span><span class="number">48</span><span>:</span><span class="number">02.343</span><span>]:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.netbeans.installer.Installer.start(Installer.java:</span><span class="number">199</span><span>) &nbsp;&nbsp;</span> </li>
    <li class=""><span>[</span><span class="number">2007</span><span>-</span><span class="number">11</span><span>-</span><span class="number">29</span><span>&nbsp;</span><span class="number">08</span><span>:</span><span class="number">48</span><span>:</span><span class="number">02.343</span><span>]:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at&nbsp;org.netbeans.installer.Installer.main(Installer.java:</span><span class="number">99</span><span>) &nbsp;&nbsp;</span> </li>
</ol>
</div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 貌似不能初始化 javax.swing.UIManager类，然后打开IDEA时也是没反应，看了日志也是不能初始化 javax.swing.UIManager类，在eclipse里面打开Swing的设计面板时候也弹出提示同样错误的对话框，找了很久都不知道到底是哪出了问题，估计是和系统有关了，因为前两天不小心直接把jdk的文件夹删除了，接着安装时候总是提示&quot;您的计算机上已安装此软件，是否重新安装&quot;，一直在弹出这个，没办法，把注册表里有'java'、'jdk'、'jre'等的项全都删了，jdk是可以装了，但是所有需要安装的IDE都出现上述问题了，google了很久也没有看到有相应的办法，难道要重装系统？<img src="/javascripts/fckeditor/editor/images/smiley/msn/cry_smile.gif" alt="" /></p>
          <br/>
          <span style="color:red;">
            <a href="http://favey.javaeye.com/blog/144884#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 29 Nov 2007 17:08:34 +0800</pubDate>
        <link>http://favey.javaeye.com/blog/144884</link>
        <guid>http://favey.javaeye.com/blog/144884</guid>
      </item>
      <item>
        <title>JFreeChart实现实时曲线图</title>
        <author>robert02432004@126.com</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://favey.javaeye.com">robert02432004@126.com</a>&nbsp;
          链接：<a href="http://favey.javaeye.com/blog/112244" style="color:red;">http://favey.javaeye.com/blog/112244</a>&nbsp;
          发表时间: 2007年08月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最近要用到实时曲线图，在网上大概找了一下，有两种实现方式，一种就是JFreeChart的官方实例MemoryUsageDemo.java.通过一个实现java.Swing.Timer的内部类，在其监听器中将实时数据添加进TimeSeries，由于Timer是会实时执行的，所以这个方法倒是没有什么问题，可以参考代码。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 另一种方式就是将实时类实现Runnable接口，在其run()方法中，通过无限循环将实时数据添加进TimeSeries，下面是较简单的实现代码：
<div class="code_title">java 代码</div>
<div class="dp-highlighter">
<div class="bar">&nbsp;</div>
<ol class="dp-j" start="1">
    <li class="alt"><span><span class="comment">//RealTimeChart&nbsp;.java</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="keyword">import</span><span>&nbsp;org.jfree.chart.ChartFactory;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">import</span><span>&nbsp;org.jfree.chart.ChartPanel;&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="keyword">import</span><span>&nbsp;org.jfree.chart.JFreeChart;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">import</span><span>&nbsp;org.jfree.chart.axis.ValueAxis;&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="keyword">import</span><span>&nbsp;org.jfree.chart.plot.XYPlot;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">import</span><span>&nbsp;org.jfree.data.time.Millisecond;&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="keyword">import</span><span>&nbsp;org.jfree.data.time.TimeSeries;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">import</span><span>&nbsp;org.jfree.data.time.TimeSeriesCollection;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">class</span><span>&nbsp;RealTimeChart&nbsp;</span><span class="keyword">extends</span><span>&nbsp;ChartPanel&nbsp;</span><span class="keyword">implements</span><span>&nbsp;Runnable&nbsp;&nbsp;</span></span></li>
    <li class=""><span>{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">private</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;TimeSeries&nbsp;timeSeries;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">private</span><span>&nbsp;</span><span class="keyword">long</span><span>&nbsp;value=</span><span class="number">0</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span>&nbsp;RealTimeChart(String&nbsp;chartContent,String&nbsp;title,String&nbsp;yaxisName)&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">super</span><span>(createChart(chartContent,title,yaxisName));&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">private</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;JFreeChart&nbsp;createChart(String&nbsp;chartContent,String&nbsp;title,String&nbsp;yaxisName){&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//创建时序图对象</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timeSeries&nbsp;=&nbsp;<span class="keyword">new</span><span>&nbsp;TimeSeries(chartContent,Millisecond.</span><span class="keyword">class</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TimeSeriesCollection&nbsp;timeseriescollection&nbsp;=&nbsp;<span class="keyword">new</span><span>&nbsp;TimeSeriesCollection(timeSeries);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JFreeChart&nbsp;jfreechart&nbsp;=&nbsp;ChartFactory.createTimeSeriesChart(title,<span class="string">&quot;时间(秒)&quot;</span><span>,yaxisName,timeseriescollection,</span><span class="keyword">true</span><span>,</span><span class="keyword">true</span><span>,</span><span class="keyword">false</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XYPlot&nbsp;xyplot&nbsp;=&nbsp;jfreechart.getXYPlot();&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//纵坐标设定</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ValueAxis&nbsp;valueaxis&nbsp;=&nbsp;xyplot.getDomainAxis();&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//自动设置数据轴数据范围</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;valueaxis.setAutoRange(<span class="keyword">true</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//数据轴固定数据范围&nbsp;30s</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;valueaxis.setFixedAutoRange(30000D);&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;valueaxis&nbsp;=&nbsp;xyplot.getRangeAxis();&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//valueaxis.setRange(0.0D,200D);</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;jfreechart;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;run()&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">while</span><span>(</span><span class="keyword">true</span><span>)&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">try</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timeSeries.add(<span class="keyword">new</span><span>&nbsp;Millisecond(),&nbsp;randomNum());&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thread.sleep(<span class="number">300</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">catch</span><span>&nbsp;(InterruptedException&nbsp;e)&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">private</span><span>&nbsp;</span><span class="keyword">long</span><span>&nbsp;randomNum()&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println((Math.random()*<span class="number">20</span><span>+</span><span class="number">80</span><span>));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;(</span><span class="keyword">long</span><span>)(Math.random()*</span><span class="number">20</span><span>+</span><span class="number">80</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class=""><span>}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span><span class="comment">//Test.java</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">import</span><span>&nbsp;java.awt.BorderLayout;&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="keyword">import</span><span>&nbsp;java.awt.event.WindowAdapter;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">import</span><span>&nbsp;java.awt.event.WindowEvent;&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="keyword">import</span><span>&nbsp;javax.swing.JFrame;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">class</span><span>&nbsp;Test&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>{&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/**</span>&nbsp;</span></li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;args</span>&nbsp;</span></li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;main(String[]&nbsp;args)&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;JFrame&nbsp;frame=<span class="keyword">new</span><span>&nbsp;JFrame(</span><span class="string">&quot;Test&nbsp;Chart&quot;</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;RealTimeChart&nbsp;rtcp=<span class="keyword">new</span><span>&nbsp;RealTimeChart(</span><span class="string">&quot;Random&nbsp;Data&quot;</span><span>,</span><span class="string">&quot;随机数&quot;</span><span>,</span><span class="string">&quot;数值&quot;</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;frame.getContentPane().add(rtcp,<span class="keyword">new</span><span>&nbsp;BorderLayout().CENTER);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;frame.pack();&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;frame.setVisible(<span class="keyword">true</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;(<span class="keyword">new</span><span>&nbsp;Thread(rtcp)).start();&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;frame.addWindowListener(<span class="keyword">new</span><span>&nbsp;WindowAdapter()&nbsp;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;windowClosing(WindowEvent&nbsp;windowevent)&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.exit(<span class="number">0</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;});&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>} <br />
    </span></li>
</ol>
</div>
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这两中方法都有一个问题，就是每实现一个图就要重新写一次，因为实时数据无法通过参数传进来，在想有没有可能通过setXXX()方式传进实时数据，那样的话就可以将实时曲线绘制类封装起来，而只需传递些参数即可(或者谁有更好的办法??)。<span id="delete_7753"></span>
          <br/>
          <span style="color:red;">
            <a href="http://favey.javaeye.com/blog/112244#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 14 Aug 2007 21:03:23 +0800</pubDate>
        <link>http://favey.javaeye.com/blog/112244</link>
        <guid>http://favey.javaeye.com/blog/112244</guid>
      </item>
      <item>
        <title>ASCII表</title>
        <author>robert02432004@126.com</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://favey.javaeye.com">robert02432004@126.com</a>&nbsp;
          链接：<a href="http://favey.javaeye.com/blog/104502" style="color:red;">http://favey.javaeye.com/blog/104502</a>&nbsp;
          发表时间: 2007年07月23日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <h1 align="center">ASCII表</h1>
<table cellspacing="0" border="1" width="600" cellpadding="0">
    <tbody>
        <tr>
            <td valign="top"><strong>ASCII值</strong></td>
            <td valign="top"><strong>控制字符</strong></td>
            <td valign="top"><strong>ASCII值</strong></td>
            <td valign="top"><strong>控制字符</strong></td>
            <td valign="top"><strong>ASCII值</strong></td>
            <td valign="top"><strong>控制字符</strong></td>
            <td valign="top"><strong>ASCII值</strong></td>
            <td valign="top"><strong>控制字符</strong></td>
        </tr>
        <tr align="center">
            <td valign="top">0</td>
            <td valign="top">NUT</td>
            <td valign="top">32</td>
            <td valign="top">(space)</td>
            <td valign="top">64</td>
            <td valign="top">@</td>
            <td valign="top">96</td>
            <td valign="top">、</td>
        </tr>
        <tr align="center">
            <td valign="top">1</td>
            <td valign="top">SOH</td>
            <td valign="top">33</td>
            <td valign="top">！</td>
            <td valign="top">65</td>
            <td valign="top">A</td>
            <td valign="top">97</td>
            <td valign="top">a</td>
        </tr>
        <tr align="center">
            <td valign="top">2</td>
            <td valign="top">STX</td>
            <td valign="top">34</td>
            <td valign="top">&rdquo;</td>
            <td valign="top">66</td>
            <td valign="top">B</td>
            <td valign="top">98</td>
            <td valign="top">b</td>
        </tr>
        <tr align="center">
            <td valign="top">3</td>
            <td valign="top">ETX</td>
            <td valign="top">35</td>
            <td valign="top">#</td>
            <td valign="top">67</td>
            <td valign="top">C</td>
            <td valign="top">99</td>
            <td valign="top">c</td>
        </tr>
        <tr align="center">
            <td valign="top">4</td>
            <td valign="top">EOT</td>
            <td valign="top">36</td>
            <td valign="top">$</td>
            <td valign="top">68</td>
            <td valign="top">D</td>
            <td valign="top">100</td>
            <td valign="top">d</td>
        </tr>
        <tr align="center">
            <td valign="top">5</td>
            <td valign="top">ENQ</td>
            <td valign="top">37</td>
            <td valign="top">%</td>
            <td valign="top">69</td>
            <td valign="top">E</td>
            <td valign="top">101</td>
            <td valign="top">e</td>
        </tr>
        <tr align="center">
            <td valign="top">6</td>
            <td valign="top">ACK</td>
            <td valign="top">38</td>
            <td valign="top">&amp;</td>
            <td valign="top">70</td>
            <td valign="top">F</td>
            <td valign="top">102</td>
            <td valign="top">f</td>
        </tr>
        <tr align="center">
            <td valign="top">7</td>
            <td valign="top">BEL</td>
            <td valign="top">39</td>
            <td valign="top">,</td>
            <td valign="top">71</td>
            <td valign="top">G</td>
            <td valign="top">103</td>
            <td valign="top">g</td>
        </tr>
        <tr align="center">
            <td valign="top">8</td>
            <td valign="top">BS</td>
            <td valign="top">40</td>
            <td valign="top">(</td>
            <td valign="top">72</td>
            <td valign="top">H</td>
            <td valign="top">104</td>
            <td valign="top">h</td>
        </tr>
        <tr align="center">
            <td valign="top">9</td>
            <td valign="top">HT</td>
            <td valign="top">41</td>
            <td valign="top">)</td>
            <td valign="top">73</td>
            <td valign="top">I</td>
            <td valign="top">105</td>
            <td valign="top">i</td>
        </tr>
        <tr align="center">
            <td valign="top">10</td>
            <td valign="top">LF</td>
            <td valign="top">42</td>
            <td valign="top">*</td>
            <td valign="top">74</td>
            <td valign="top">J</td>
            <td valign="top">106</td>
            <td valign="top">j</td>
        </tr>
        <tr align="center">
            <td valign="top">11</td>
            <td valign="top">VT</td>
            <td valign="top">43</td>
            <td valign="top">+</td>
            <td valign="top">75</td>
            <td valign="top">K</td>
            <td valign="top">107</td>
            <td valign="top">k</td>
        </tr>
        <tr align="center">
            <td valign="top">12</td>
            <td valign="top">FF</td>
            <td valign="top">44</td>
            <td valign="top">,</td>
            <td valign="top">76</td>
            <td valign="top">L</td>
            <td valign="top">108</td>
            <td valign="top">l</td>
        </tr>
        <tr align="center">
            <td valign="top">13</td>
            <td valign="top">CR</td>
            <td valign="top">45</td>
            <td valign="top">-</td>
            <td valign="top">77</td>
            <td valign="top">M</td>
            <td valign="top">109</td>
            <td valign="top">m</td>
        </tr>
        <tr align="center">
            <td valign="top">14</td>
            <td valign="top">SO</td>
            <td valign="top">46</td>
            <td valign="top">.</td>
            <td valign="top">78</td>
            <td valign="top">N</td>
            <td valign="top">110</td>
            <td valign="top">n</td>
        </tr>
        <tr align="center">
            <td valign="top">15</td>
            <td valign="top">SI</td>
            <td valign="top">47</td>
            <td valign="top">/</td>
            <td valign="top">79</td>
            <td valign="top">O</td>
            <td valign="top">111</td>
            <td valign="top">o</td>
        </tr>
        <tr align="center">
            <td valign="top">16</td>
            <td valign="top">DLE</td>
            <td valign="top">48</td>
            <td valign="top">0</td>
            <td valign="top">80</td>
            <td valign="top">P</td>
            <td valign="top">112</td>
            <td valign="top">p</td>
        </tr>
        <tr align="center">
            <td valign="top">17</td>
            <td valign="top">DCI</td>
            <td valign="top">49</td>
            <td valign="top">1</td>
            <td valign="top">81</td>
            <td valign="top">Q</td>
            <td valign="top">113</td>
            <td valign="top">q</td>
        </tr>
        <tr align="center">
            <td valign="top">18</td>
            <td valign="top">DC2</td>
            <td valign="top">50</td>
            <td valign="top">2</td>
            <td valign="top">82</td>
            <td valign="top">R</td>
            <td valign="top">114</td>
            <td valign="top">r</td>
        </tr>
        <tr align="center">
            <td valign="top">19</td>
            <td valign="top">DC3</td>
            <td valign="top">51</td>
            <td valign="top">3</td>
            <td valign="top">83</td>
            <td valign="top">X</td>
            <td valign="top">115</td>
            <td valign="top">s</td>
        </tr>
        <tr align="center">
            <td valign="top">20</td>
            <td valign="top">DC4</td>
            <td valign="top">52</td>
            <td valign="top">4</td>
            <td valign="top">84</td>
            <td valign="top">T</td>
            <td valign="top">116</td>
            <td valign="top">t</td>
        </tr>
        <tr align="center">
            <td valign="top">21</td>
            <td valign="top">NAK</td>
            <td valign="top">53</td>
            <td valign="top">5</td>
            <td valign="top">85</td>
            <td valign="top">U</td>
            <td valign="top">117</td>
            <td valign="top">u</td>
        </tr>
        <tr align="center">
            <td valign="top">22</td>
            <td valign="top">SYN</td>
            <td valign="top">54</td>
            <td valign="top">6</td>
            <td valign="top">86</td>
            <td valign="top">V</td>
            <td valign="top">118</td>
            <td valign="top">v</td>
        </tr>
        <tr align="center">
            <td valign="top">23</td>
            <td valign="top">TB</td>
            <td valign="top">55</td>
            <td valign="top">7</td>
            <td valign="top">87</td>
            <td valign="top">W</td>
            <td valign="top">119</td>
            <td valign="top">w</td>
        </tr>
        <tr align="center">
            <td valign="top">24</td>
            <td valign="top">CAN</td>
            <td valign="top">56</td>
            <td valign="top">8</td>
            <td valign="top">88</td>
            <td valign="top">X</td>
            <td valign="top">120</td>
            <td valign="top">x</td>
        </tr>
        <tr align="center">
            <td valign="top">25</td>
            <td valign="top">EM</td>
            <td valign="top">57</td>
            <td valign="top">9</td>
            <td valign="top">89</td>
            <td valign="top">Y</td>
            <td valign="top">121</td>
            <td valign="top">y</td>
        </tr>
        <tr align="center">
            <td valign="top">26</td>
            <td valign="top">SUB</td>
            <td valign="top">58</td>
            <td valign="top">:</td>
            <td valign="top">90</td>
            <td valign="top">Z</td>
            <td valign="top">122</td>
            <td valign="top">z</td>
        </tr>
        <tr align="center">
            <td valign="top">27</td>
            <td valign="top">ESC</td>
            <td valign="top">59</td>
            <td valign="top">;</td>
            <td valign="top">91</td>
            <td valign="top">[</td>
            <td valign="top">123</td>
            <td valign="top">{</td>
        </tr>
        <tr align="center">
            <td valign="top">28</td>
            <td valign="top">FS</td>
            <td valign="top">60</td>
            <td valign="top">&lt;</td>
            <td valign="top">92</td>
            <td valign="top">\</td>
            <td valign="top">124</td>
            <td valign="top">|</td>
        </tr>
        <tr align="center">
            <td valign="top">29</td>
            <td valign="top">GS</td>
            <td valign="top">61</td>
            <td valign="top">=</td>
            <td valign="top">93</td>
            <td valign="top">]</td>
            <td valign="top">125</td>
            <td valign="top">}</td>
        </tr>
        <tr align="center">
            <td valign="top">30</td>
            <td valign="top">RS</td>
            <td valign="top">62</td>
            <td valign="top">&gt;</td>
            <td valign="top">94</td>
            <td valign="top">^</td>
            <td valign="top">126</td>
            <td valign="top">~</td>
        </tr>
        <tr align="center">
            <td valign="top">31</td>
            <td valign="top">US</td>
            <td valign="top">63</td>
            <td valign="top">?</td>
            <td valign="top">95</td>
            <td valign="top">&mdash;</td>
            <td valign="top">127</td>
        </tr>
    </tbody>
</table>
<p>&nbsp;</p>
<p>
<table cellspacing="0" border="1" bordercolor="#008000" bgcolor="#008000" width="528" cellpadding="5" style="BORDER-COLLAPSE: collapse">
    <tbody>
        <tr>
            <th bgcolor="#ffffff" width="65"><font face="Simsun">八进制</font></th>
            <th bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">十六进制</font></th>
            <th bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">十进制</font></th>
            <th bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">字符</font></th>
            <th bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">八进制</font></th>
            <th bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">十六进制</font></th>
            <th bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">十进制</font></th>
            <th bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">字符</font></th>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">00</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">00</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">0</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">nul</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">100</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">40</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">64</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">@</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">01</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">01</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">1</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">soh</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">101</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">41</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">65</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">A</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">02</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">02</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">2</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">stx</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">102</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">42</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">66</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">B</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">03</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">03</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">3</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">etx</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">103</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">43</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">67</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">C</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">04</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">04</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">4</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">eot</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">104</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">44</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">68</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">D</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">05</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">05</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">5</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">enq</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">105</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">45</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">69</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">E</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">06</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">06</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">6</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">ack</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">106</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">46</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">70</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">F</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">07</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">07</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">7</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">bel</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">107</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">47</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">71</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">G</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">10</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">08</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">8</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">bs</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">110</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">48</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">72</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">H</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">11</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">09</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">9</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">ht</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">111</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">49</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">73</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">I</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">12</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">0a</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">10</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">nl</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">112</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">4a</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">74</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">J</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">13</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">0b</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">11</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">vt</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">113</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">4b</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">75</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">K</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">14</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">0c</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">12</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">ff</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">114</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">4c</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">76</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">L</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">15</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">0d</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">13</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">er</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">115</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">4d</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">77</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">M</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">16</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">0e</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">14</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">so</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">116</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">4e</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">78</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">N</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">17</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">0f</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">15</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">si</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">117</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">4f</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">79</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">O</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">20</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">10</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">16</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">dle</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">120</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">50</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">80</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">P</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">21</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">11</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">17</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">dc1</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">121</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">51</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">81</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">Q</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">22</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">12</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">18</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">dc2</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">122</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">52</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">82</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">R</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">23</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">13</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">19</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">dc3</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">123</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">53</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">83</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">S</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">24</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">14</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">20</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">dc4</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">124</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">54</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">84</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">T</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">25</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">15</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">21</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">nak</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">125</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">55</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">85</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">U</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">26</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">16</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">22</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">syn</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">126</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">56</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">86</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">V</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">27</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">17</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">23</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">etb</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">127</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">57</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">87</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">W</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">30</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">18</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">24</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">can</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">130</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">58</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">88</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">X</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">31</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">19</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">25</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">em</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">131</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">59</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">89</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">Y</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">32</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">1a</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">26</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">sub</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">132</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">5a</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">90</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">Z</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">33</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">1b</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">27</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">esc</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">133</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">5b</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">91</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">[</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">34</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">1c</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">28</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">fs</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">134</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">5c</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">92</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">\</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">35</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">1d</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">29</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">gs</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">135</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">5d</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">93</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">]</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">36</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">1e</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">30</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">re</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">136</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">5e</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">94</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">^</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">37</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">1f</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">31</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">us</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">137</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">5f</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">95</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">_</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">40</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">20</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">32</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">sp</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">140</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">60</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">96</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">'</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">41</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">21</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">33</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">!</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">141</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">61</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">97</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">a</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">42</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">22</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">34</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">&quot;</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">142</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">62</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">98</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">b</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">43</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">23</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">35</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">#</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">143</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">63</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">99</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">c</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">44</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">24</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">36</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">$</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">144</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">64</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">100</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">d</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">45</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">25</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">37</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">%</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">145</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">65</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">101</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">e</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">46</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">26</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">38</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">&amp;</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">146</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">66</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">102</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">f</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">47</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">27</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">39</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">`</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">147</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">67</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">103</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">g</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">50</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">28</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">40</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">(</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">150</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">68</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">104</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">h</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">51</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">29</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">41</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">)</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">151</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">69</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">105</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">i</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">52</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">2a</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">42</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">*</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">152</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">6a</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">106</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">j</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">53</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">2b</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">43</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">+</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">153</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">6b</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">107</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">k</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">54</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">2c</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">44</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">,</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">154</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">6c</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">108</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">l</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">55</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">2d</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">45</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">-</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">155</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">6d</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">109</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">m</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">56</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">2e</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">46</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">.</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">156</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">6e</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">110</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">n</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">57</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">2f</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">47</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">/</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">157</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">6f</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">111</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">o</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">60</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">30</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">48</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">0</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">160</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">70</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">112</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">p</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">61</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">31</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">49</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">1</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">161</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">71</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">113</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">q</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">62</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">32</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">50</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">2</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">162</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">72</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">114</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">r</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">63</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">33</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">51</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">3</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">163</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">73</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">115</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">s</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">64</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">34</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">52</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">4</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">164</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">74</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">116</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">t</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">65</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">35</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">53</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">5</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">165</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">75</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">117</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">u</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">66</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">36</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">54</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">6</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">166</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">76</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">118</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">v</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">67</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">37</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">55</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">7</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">167</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">77</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">119</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">w</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">70</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">38</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">56</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">8</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">170</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">78</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">120</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">x</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">71</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">39</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">57</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">9</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">171</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">79</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">121</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">y</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">72</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">3a</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">58</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">:</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">172</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">7a</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">122</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">z</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">73</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">3b</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">59</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">;</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">173</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">7b</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">123</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">{</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">74</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">3c</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">60</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">&lt;</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">174</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">7c</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">124</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">|</font></td>
        </tr>
        <tr>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">75</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="65"><font face="Simsun">3d</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">61</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">=</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">175</font></td>
            <td bordercolor="#008000" bgcolor="#ffffff" width="66"><font face="Simsun">7d</font></td>
            <td bordercolor="#008000" width="66" bgcolo</tr></tbody></table></p>
          <br/>
          <span style="color:red;">
            <a href="http://favey.javaeye.com/blog/104502#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 23 Jul 2007 19:07:42 +0800</pubDate>
        <link>http://favey.javaeye.com/blog/104502</link>
        <guid>http://favey.javaeye.com/blog/104502</guid>
      </item>
      <item>
        <title>学习Java正则表达式</title>
        <author>robert02432004@126.com</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://favey.javaeye.com">robert02432004@126.com</a>&nbsp;
          链接：<a href="http://favey.javaeye.com/blog/103288" style="color:red;">http://favey.javaeye.com/blog/103288</a>&nbsp;
          发表时间: 2007年07月20日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          正则表达式用来指定字符串模式。当你需要定位匹配某种模式的字符串时就可以使用正则表达式。例如，我们下面的一个例程就是在一个HTML文件中通过查找字符串模式来定位所有的超链接。<br />
<br />
&nbsp;&nbsp;&nbsp; 当然，为了指定一种模式，使用...这种记号是不够精确的。你需要精确地指定什么样的字符排列是一个合法的匹配。当描述某种模式时，你需要使用一种特殊的语法。<br />
<br />
&nbsp;&nbsp;&nbsp; 这里有一个简单例子。正则表达式<br />
[Jj]ava.+<br />
匹配下列形式的任何字符串：<br />
<ul><a href="..."></a>
    <li>首字母是J或j </li>
</ul>
<ul>
    <li>后续的三个字母是ava </li>
</ul>
<ul>
    <li>字符串的剩余部分由一个或多个任意字符组成 </li>
</ul>
<br />
&nbsp;&nbsp;&nbsp; 例如，字符串&ldquo;javaness&rdquo;匹配这个特殊的正则表达式，但是字符串&ldquo;Core Java&rdquo;却不匹配。<br />
<br />
&nbsp;&nbsp;&nbsp; 如你所见，你需要了解一点语法来理解正则表达式的含意。幸运的是对于大多数的用途，使用少量的简单构造（straightforward constructs）就已足够。<br />
<ul>
    <li>字符类是可选自符的集合，用&lsquo;[&rsquo;封装，比如[Jj],[0-9],[A-Za-z]或[^0-9]。这里的-表示范围（Unicode落在两个边界之间的所有字符），^表示求补（指定字符外的所有字符）。 </li>
</ul>
<ul><a href="..."></a>
    <li>有许多预定以的字符类，像\d（数字）或\p{Sc}（Unicode货币符号），见表12-8和12-9。 </li>
</ul>
<ul>
    <li>大多数字符与它们自身匹配，像上例中的ava字符。 </li>
</ul>
<ul>
    <li>符号.匹配任何字符（可能行终止符（line terminators）除外，这依赖于标识设置（flag settings）） </li>
</ul>
<ul>
    <li>\用作转义符，比如\.匹配一个句点，\\匹配一个反斜杠。 </li>
</ul>
<ul>
    <li>&nbsp;^和$分别匹配行头和行尾 </li>
</ul>
<ul>
    <li>如果X和Y都是正则表达式，则XY表示&ldquo;X的匹配后面跟着Y的匹配&rdquo;。X|Y表示&ldquo;任何X或Y的匹配&rdquo; </li>
</ul>
<ul>
    <li>可以将量词（quantifier）用到表达式中，X+ 表示X重复1次或多次，X* 表示X重复0次或多次，X? 表示X重复0次或1次 </li>
</ul>
<ul>
    <li>&nbsp;默认地，一个量词总是与使总体成功匹配的最长的可能重复匹配。可以加上后缀？（称为reluctant或stingy 匹配，用以匹配最小的重复数），和+（称为possessive或贪婪匹配，用以即使在总体匹配失败的情况下也匹配最大的重复数）来更改这种属性。 </li>
</ul>
<br />
<div style="MARGIN-LEFT: 40px">例如，字符串cab匹配[a-z]*ab，但不匹配[a-z]*+ab。第一种情况下，[a-z]*只匹配字符c，因此字符ab正好与模式的剩余部分匹配。但是贪婪版本[a-z]*+就与字符cab匹配，模式的剩余部分ab就匹配失败（，这样总体也就匹配失败）。<br />
</div>
<ul>
    <li>可以使用分组来定义子表达式。将分组封装在（）中，如([+-]?)([0-9]+)。然后你可以让模式匹配符（the pattern matcher）返回每个分组的匹配，或者使用\n来回引分组（refer back to a group with \n），其中n是组号（以\1起始） </li>
</ul>
<br />
&nbsp;&nbsp;&nbsp; 这里有一个稍微有点复杂却又很有用的正则表达式－－它用来描述十进制和十六进制的整数。<br />
[+-]?[0-9]+|0[Xx][0-9A-Fa-f]+<br />
<br />
&nbsp;&nbsp;&nbsp; 不幸的是，在使用正则表达式的各种程序和库之间，它的语法还没有完全标准化。对基本的构造上已达成了共识，但在细节方面有许多令人&ldquo;抓狂&rdquo;的区别（many maddening differences）。Java的正则表达式类使用了与Perl语言类似的语法，但也不尽相同。表12-8显示了Java语法的所有正则表达式构造。要了解更多关于正则表达式的信息，请参考Pattern类的API文档，或者Jeffrey E. F. Friedl的著作《Mastering Regular Expressions》(O'Reilly and Associates, 1997)（刚去第二书店查了一下，东南大学出版社已经引入了其第二版，影印）<br />
<br />
表12-8 正则表达式语法<br />
<hr style="WIDTH: 100%; HEIGHT: 2px" />
<span style="FONT-WEIGHT: bold">语法&nbsp;&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="FONT-WEIGHT: bold"> 解释</span><br />
<hr style="WIDTH: 100%; HEIGHT: 2px" />
<span style="FONT-WEIGHT: bold">字符</span><br />
c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 字符c<br />
\unnnn, \xnn, \0n, \0nn, \0nnn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 带有十六或八进制值的代码单元<br />
<div style="MARGIN-LEFT: 40px">\0n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 八进制0n代表的字符（0&lt;=n&lt;=7）<br />
</div>
<div style="MARGIN-LEFT: 40px">\0nn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 八进制0nn代表的字符(0&lt;=n&lt;=7)<br />
</div>
<div style="MARGIN-LEFT: 40px">\0mnn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 八进制0mnn代表的字符(0&lt;=m&lt;=3,0&lt;=n&lt;=7)<br />
</div>
<div style="MARGIN-LEFT: 40px">\xnn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 十六进制 0xnn所代表的字符<br />
</div>
<div style="MARGIN-LEFT: 40px">\uhhhh&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 十六进制 0xhhhh所代表的字符<br />
</div>
\t, \n, \r, \f, \a, \e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 控制字符，依次是制表符，换行符，回车符，换页符，报警符和转义符<br />
\cc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 控制字符中出现的相应字符c<br />
<hr style="WIDTH: 100%; HEIGHT: 2px" />
<span style="FONT-WEIGHT: bold">字符类</span><br />
[C1C2. . .]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C1、C2&hellip;&hellip;中的任何字符。Ci可以是字符，字符范围（C1-C2）或者字符类。<br />
[^. . .]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 字符类的补集<br />
[ . . . &amp;&amp; . . .]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 两个字符类的交集<br />
<hr style="WIDTH: 100%; HEIGHT: 2px" />
<span style="FONT-WEIGHT: bold">预定义字符类</span><br />
.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 除行终止符外的任何字符（如果DOTALL标志置位，则表示任何字符）<br />
\d&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 数字[0-9]<br />
\D&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 非数字[^0-9]<br />
\s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 空白字符[\t\n\r\f\x0B]<br />
\S&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 非空白字符<br />
\w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 单词字符[a-zA-Z0-9_]<br />
\W&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 非单词字符<br />
\p{name}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一个指定的字符类，见表12-9<br />
\P{name}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 指定字符类的补集<br />
<hr style="WIDTH: 100%; HEIGHT: 2px" />
<span style="FONT-WEIGHT: bold">边界匹配符</span><br />
^ $&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 输入的开头和结尾(在多行模式(multiline mode)下是行的开头和结尾)<br />
\b&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 单词边界<br />
\B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 非单词边界<br />
\A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 输入的开头<br />
\z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 输入的结尾<br />
\Z&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 除最后行终止符之外的输入结尾<br />
\G&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 上个匹配的结尾<br />
<hr style="WIDTH: 100%; HEIGHT: 2px" />
<span style="FONT-WEIGHT: bold">量词</span><br />
X?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 可选的X（即X可能出现，也可能不出现）<br />
X*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X，可以重复0次或多次<br />
X+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; X，可以重复1次或多次<br />
X{n} X{n,} X{n,m}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X重复n次，至少重复n次，重复n到m次<br />
<hr style="WIDTH: 100%; HEIGHT: 2px" />
<span style="FONT-WEIGHT: bold">量词后缀</span><br />
?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 设默认（贪婪）匹配为reluctant匹配<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 设默认（贪婪）匹配为possessive匹配<br />
<hr style="WIDTH: 100%; HEIGHT: 2px" />
<span style="FONT-WEIGHT: bold">集合操作</span><br />
XY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X的匹配后面跟着Y的匹配<br />
X|Y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X或Y的匹配<br />
<hr style="WIDTH: 100%; HEIGHT: 2px" />
<span style="FONT-WEIGHT: bold">分组</span><br />
(X) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 匹配X并且在一个自动计数的分组中捕获它<br />
\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 与第n个分组的匹配<br />
<hr style="WIDTH: 100%; HEIGHT: 2px" />
<span style="FONT-WEIGHT: bold">转义</span><br />
\c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 字符c（必须不是字母）<br />
\Q...\E&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 逐字地引用...<br />
（？...）&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 特殊构造，看Pattern类的API<br />
<hr style="WIDTH: 100%; HEIGHT: 2px" />
<br />
&nbsp;&nbsp;&nbsp; 正则表达式的最简单使用是测试一个特殊的字符串是否与之匹配。这里有一个Java写的测试程序。首先从表示正则表达式的字符串构造一个Pattern对象。然后从该模式获得一个Matcher对象，并且调用它的matches()方法：<br />
<div style="MARGIN-LEFT: 40px">Pattern pattern = Pattern.compile(patternString);<br />
</div>
<div style="MARGIN-LEFT: 40px">Matcher matcher = pattern.matcher(input);<br />
</div>
<div style="MARGIN-LEFT: 40px">if (matcher.matches()) . . .<br />
</div>
<br />
&nbsp;&nbsp;&nbsp; 表12.9 预定义的字符类名（Predefined Character Class Names）<br />
<hr style="WIDTH: 100%; HEIGHT: 2px" />
Lower&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 小写的ASII字符[a-z]<br />
Upper&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 大写的ASCII字符[A-Z]<br />
Alpha&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ASCII字母[A-Za-z]<br />
Digit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ASCII 数字 [0-9]<br />
Alnum &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; ASCII 字母或数字[A-Za-z0-9]<br />
Xdigit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 十六进制数字[0-9A-Fa-f] <br />
Print or Graph &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 可打印的ASCII字符[\x21-\x7E]<br />
Punct&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 非字母或数字ASCII [\p{Print}&amp;&amp;\P{Alnum}] <br />
ASCII&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 所有ASCII字符 [\x00-\x7F]<br />
Cntrl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ASCII控制字符[\x00-\x1F]<br />
Blank&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 空格符或制表符[ \t]<br />
Space&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 空白符 [ \t\n\r\f\0x0B]<br />
javaLowerCase&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 取决于Character.isLowerCase()的小写字符<br />
javaUpperCase &nbsp; &nbsp;&nbsp; 取决于Character.isUpperCase()的大写字符<br />
javaWhitespace&nbsp;&nbsp;&nbsp;&nbsp; 取决于Character.isWhitespace()的空白符<br />
javaMirrored &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp; 取决于Character.isMirrored()的Mirrored（？） <br />
InBlock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这里的Block是unicode字符的块名，用空格隔开，比如BasicLatin 或 Mongolian。块名列表&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 参考http://www.unicode.org<br />
Category 或InCategory&nbsp;&nbsp;&nbsp;&nbsp; 这里的Category是Unicode字符的种类名，比如L（字母）或者Sc（货币符号）。种类&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 名列表参考http://www.unicode.org&nbsp; <br />
<hr style="WIDTH: 100%; HEIGHT: 2px" />
<br />
&nbsp;&nbsp;&nbsp; matcher的输入可以是实现CharSequence接口的任何类对象，像String，StringBuilder或CharBuffer。<br />
<br />
&nbsp;&nbsp;&nbsp; 当编译模式时，可以设置一个或多个标志，例如<br />
<div style="MARGIN-LEFT: 40px">Pattern pattern = Pattern.compile(patternString,<br />
</div>
<div style="MARGIN-LEFT: 40px">Pattern.CASE_INSENSITIVE + Pattern.UNICODE_CASE);<br />
</div>
<br />
下面六个标志都是支持的：<br />
<div style="MARGIN-LEFT: 40px">CASE_INSENSITIVE：匹配字符时与大小写无关，该标志默认只考虑US ASCII字符。<br />
</div>
<div style="MARGIN-LEFT: 40px">UNICODE_CASE：当与CASE_INSENSITIVE结合时，使用Unicode字母匹配<br />
</div>
<div style="MARGIN-LEFT: 40px">MULTILINE：^和$匹配一行的开始和结尾，而不是整个输入<br />
</div>
<div style="MARGIN-LEFT: 40px">UNIX_LINES： 当在多行模式下匹配^和$时，只将'\n'看作行终止符<br />
</div>
<div style="MARGIN-LEFT: 40px">DOTALL: 当使用此标志时，.符号匹配包括行终止符在内的所有字符<br />
</div>
<div style="MARGIN-LEFT: 40px">CANON_EQ: 考虑Unicode字符的规范等价<br />
<br />
</div>
&nbsp;&nbsp;&nbsp;&nbsp; 如果正则表达式包含分组，Matcher对象能够揭示分组边界。方法<br />
<div style="MARGIN-LEFT: 40px">int start(int groupIndex)<br />
</div>
<div style="MARGIN-LEFT: 40px">int end(int groupIndex)<br />
</div>
返回某个特殊分组的起始索引和结尾后索引（past-the-end index ）。<br />
通过调用String group(int groupIndex)，你可以简单地得到匹配的字符串。<br />
第0个分组代表所有的分组，第一个实际分组的索引是1。调用groupCount来获得总的分组数。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp; 使用开放圆括号来安排嵌套分组。例如，给定模式((1?[0-9]):([0-5][0-9]))[ap]m，并且输入11:59am,Matcher对象报告下列分组<br />
((1?[0-9]):([0-5][0-9]))[ap]m<br />
并输入<br />
11:59am<br />
matcher报告下列分组<br />
<br />
<hr style="WIDTH: 100%; HEIGHT: 2px" />
分组索引&nbsp; 起始&nbsp; 结束&nbsp; 字符串<br />
<hr style="WIDTH: 100%; HEIGHT: 2px" />
0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 7 &nbsp;&nbsp;&nbsp;&nbsp; 11;59am<br />
1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 5 &nbsp; &nbsp;&nbsp; 11:59<br />
2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 2 &nbsp; &nbsp;&nbsp; 11<br />
3 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 3 &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 5 &nbsp; &nbsp;&nbsp; 59<br />
<hr style="WIDTH: 100%; HEIGHT: 2px" />
&nbsp;<br />
例12－9提示输入一个模式和一个欲匹配的字符串。它将输出输入的字符串是否匹配模式。如果输入匹配包含分组的模式，程序将会使用圆括号来打印分组边界，如((11):(59))am<br />
<br />
Example 12-9. RegexTest.java<br />
&nbsp;1. import java.util.*;<br />
&nbsp;2. import java.util.regex.*;<br />
&nbsp;3.<br />
&nbsp;4. /**<br />
&nbsp;5.&nbsp;&nbsp;&nbsp; This program tests regular expression matching.<br />
&nbsp;6.&nbsp;&nbsp;&nbsp; Enter a pattern and strings to match, or hit Cancel<br />
&nbsp;7.&nbsp;&nbsp;&nbsp; to exit. If the pattern contains groups, the group<br />
&nbsp;8.&nbsp;&nbsp;&nbsp; boundaries are displayed in the match.<br />
&nbsp;9. */<br />
10. public class RegExTest<br />
11. {<br />
12.&nbsp;&nbsp; public static void main(String[] args)<br />
13.&nbsp;&nbsp; {<br />
14.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Scanner in = new Scanner(System.in);<br />
15.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;Enter pattern: &quot;);<br />
16.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String patternString = in.nextLine();<br />
17.<br />
18.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Pattern pattern = null;<br />
19.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try<br />
20.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
21.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pattern = Pattern.compile(patternString);<br />
22.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
23.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch (PatternSyntaxException e)<br />
24.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
25.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;Pattern syntax error&quot;);<br />
26.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.exit(1);<br />
27.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
28.<br />
29.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (true)<br />
30.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
31.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;Enter string to match: &quot;);<br />
32.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String input = in.nextLine();<br />
33.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (input == null || input.equals(&quot;&quot;)) return;<br />
34.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Matcher matcher = pattern.matcher(input);<br />
35.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (matcher.matches())<br />
36.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
37.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;Match&quot;);<br />
38.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int g = matcher.groupCount();<br />
39.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (g &gt; 0)<br />
40.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
41.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; input.length(); i++)<br />
42.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
43.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int j = 1; j &lt;= g; j++)<br />
44.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (i == matcher.start(j))<br />
45.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.print('(');<br />
46.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.print(input.charAt(i));<br />
47.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int j = 1; j &lt;= g; j++)<br />
48.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (i + 1 == matcher.end(j))<br />
49.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.print(')');<br />
50.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
51.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println();<br />
52.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
53.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
54.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br />
55.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;No match&quot;);<br />
56.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
57.&nbsp;&nbsp; }<br />
58. }<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp; 通常地，你不希望匹配整个输入到某个正则表达式，而是希望在输入中找出一个或多个匹配的子字符串。使用Matcher类的find方法来寻找下一个匹配。如果它返回True，再使用start和end方法找出匹配的范围。<br />
<br />
<div style="MARGIN-LEFT: 40px">while (matcher.find())<br />
</div>
<div style="MARGIN-LEFT: 40px">{<br />
</div>
<div style="MARGIN-LEFT: 40px">&nbsp;&nbsp; int start = matcher.start();<br />
</div>
<div style="MARGIN-LEFT: 40px">&nbsp;&nbsp; int end = matcher.end();<br />
</div>
<div style="MARGIN-LEFT: 40px">&nbsp;&nbsp; String match = input.substring(start, end);<br />
</div>
<div style="MARGIN-LEFT: 40px">&nbsp;&nbsp; . . .<br />
</div>
<div style="MARGIN-LEFT: 40px">}<br />
</div>
<br />
例12-10用到了这种机制。它在一个网页中定位所有的超文本引用并打印它们。为运行程序，在命令行提供一个URL，比如<br />
java HrefMatch http://www.horstmann.com<br />
<br />
Example 12-10. HrefMatch.java<br />
&nbsp;1. import java.io.*;<br />
&nbsp;2. import java.net.*;<br />
&nbsp;3. import java.util.regex.*;<br />
&nbsp;4.<br />
&nbsp;5. /**<br />
&nbsp;6.&nbsp;&nbsp;&nbsp; This program displays all URLs in a web page by<br />
&nbsp;7.&nbsp;&nbsp;&nbsp; matching a regular expression that describes the<br />
&nbsp;8.&nbsp;&nbsp;&nbsp; HTML tag. Start the program as<br />
&nbsp;9.&nbsp;&nbsp;&nbsp; java HrefMatch URL<br />
10. */<br />
11. public class HrefMatch<br />
12. {<br />
13.&nbsp;&nbsp;&nbsp; public static void main(String[] args)<br />
14.&nbsp;&nbsp;&nbsp; {<br />
15.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try<br />
16.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
17.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // get URL string from command line or use default<br />
18.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String urlString;<br />
19.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (args.length &gt; 0) urlString = args[0];<br />
20.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else urlString = &quot;http://java.sun.com&quot;;<br />
21.<br />
22.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // open reader for URL<br />
23.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputStreamReader in = new InputStreamReader(new URL(urlString).openStream());<br />
24.<br />
25.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // read contents into string buffer<br />
26.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; StringBuilder input = new StringBuilder();<br />
27.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int ch;<br />
28.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while ((ch = in.read()) != -1) input.append((char) ch);<br />
29.<br />
30.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // search for all occurrences of pattern<br />
31.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String patternString = &quot;
<div style="MARGIN-LEFT: 40px">Pattern pattern = Pattern.compile(&quot;[0-9]+&quot;);<br />
</div>
<div style="MARGIN-LEFT: 40px">Matcher matcher = pattern.matcher(input);<br />
</div>
<div style="MARGIN-LEFT: 40px">String output = matcher.replaceAll(&quot;#&quot;);<br />
</div>
&nbsp;&nbsp;&nbsp; 替换字符串可以包含模式中的分组引用：$n被第n个分组替换。替换文本中出现$时，使用\$来包含它。<br />
replaceFirst方法只替换模式的第一次出现。<br />
<br />
&nbsp;&nbsp;&nbsp; 最后讲一点，Pattern类有一个split方法，它类似于字符串tokenizer。它使用正则表达式匹配作边界，将输入分离成字符串数组。比如，下面的指令将输入分离成记号（token），<br />
<br />
<div style="MARGIN-LEFT: 40px">Pattern pattern = Pattern.compile(&quot;\\s*\\p{Punct}\\s*&quot;);<br />
</div>
<div style="MARGIN-LEFT: 40px">String[] tokens = pattern.split(input);<br />
</div>
<br />
<span style="FONT-WEIGHT: bold">类</span><br />
<hr style="WIDTH: 100%; HEIGHT: 2px" />
java.util.regex.Pattern 1.4<br />
<hr style="WIDTH: 100%; HEIGHT: 2px" />
<span style="FONT-WEIGHT: bold">方法</span><br />
static Pattern compile(String expression)<br />
static Pattern compile(String expression, int flags)<br />
编译正则表达式字符串到pattern对象用以匹配的快速处理<br />
参数:<br />
&nbsp;expression 正则表达式<br />
&nbsp;flags&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 下列标志中的一个或多个 CASE_INSENSITIVE, UNICODE_CASE, MULTILINE, UNIX_LINES, DOTALL, and CANON_EQ<br />
&nbsp;<br />
Matcher matcher(CharSequence input)<br />
返回一个matcher对象，它可以用来在一个输入中定位模式匹配<br />
<br />
String[] split(CharSequence input)<br />
String[] split(CharSequence input, int limit)<br />
将输入字符串分离成记号，并由pattern来指定分隔符的形式。返回记号数组。分隔符并不是记号的一部分。<br />
参数:<br />
input 分离成记号的字符串<br />
limit 生成的最大字符串数。<br />
<hr style="WIDTH: 100%; HEIGHT: 2px" />
<span style="FONT-WEIGHT: bold">&nbsp;类</span><br />
<hr style="WIDTH: 100%; HEIGHT: 2px" />
java.util.regex.Matcher 1.4<br />
<hr style="WIDTH: 100%; HEIGHT: 2px" />
<span style="FONT-WEIGHT: bold">方法</span><br />
<hr style="WIDTH: 100%; HEIGHT: 2px" />
boolean matches()<br />
返回输入是否与模式匹配<br />
<br />
boolean lookingAt()<br />
如果输入的起始匹配模式则返回True<br />
<br />
boolean find()<br />
boolean find(int start)<br />
尝试查找下一个匹配，并在找到匹配时返回True<br />
参数:<br />
&nbsp;start&nbsp; 开始搜索的索引<br />
&nbsp;<br />
int start()<br />
int end()<br />
返回当前匹配的起始位置和结尾后位置<br />
<br />
String group()<br />
返回当前匹配<br />
<br />
int groupCount()<br />
返回输入模式中的分组数<br />
<br />
int start(int groupIndex)<br />
int end(int groupIndex)<br />
返回一个给定分组当前匹配中的起始位置和结尾后位置<br />
参数:<br />
&nbsp;groupIndex分组索引（从1开始），0表示整个匹配<br />
<br />
String group(int groupIndex)<br />
返回匹配一个给定分组的字符串<br />
参数:<br />
&nbsp;groupIndex<br />
&nbsp;分组索引（从1开始），0表示整个匹配<br />
<br />
String replaceAll(String replacement)<br />
String replaceFirst(String replacement)<br />
返回从matcher输入得到的字符串，但已经用替换表达式替换所有或第一个匹配<br />
参数:<br />
&nbsp;replacement 替换字符串 <br />
<br />
Matcher reset()<br />
Matcher reset(CharSequence input)<br />
复位mather状态。<br />
<br />
转自：http://dev.csdn.net/article/85/85006.shtm
          <br/>
          <span style="color:red;">
            <a href="http://favey.javaeye.com/blog/103288#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 20 Jul 2007 17:38:00 +0800</pubDate>
        <link>http://favey.javaeye.com/blog/103288</link>
        <guid>http://favey.javaeye.com/blog/103288</guid>
      </item>
      <item>
        <title>犯贱报(一张浓缩大学生活的..)_转载</title>
        <author>robert02432004@126.com</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://favey.javaeye.com">robert02432004@126.com</a>&nbsp;
          链接：<a href="http://favey.javaeye.com/blog/79090" style="color:red;">http://favey.javaeye.com/blog/79090</a>&nbsp;
          发表时间: 2007年05月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          1 <br />
学校门口总是有一些骗子， <br />
有的开着车， <br />
有的没有开车。 <br />
没有开车的， <br />
骗骗我们的钱， <br />
开着车的， <br />
骗骗我们的人。 <br />
<br />
2 <br />
有一天， <br />
校门口来了一名物理爱好者， <br />
认为自己推翻了相对论。 <br />
我们去探讨请教， <br />
爱好者拿出一大堆自己演算的公式， <br />
给我们看， <br />
边看， <br />
爱好者在一旁很着急， <br />
不停地问， <br />
看懂了吗？看懂了吗？ <br />
我们回答， <br />
没看懂。 <br />
爱好者这才松了一口气。 <br />
<br />
3 <br />
社会可能就是这样的。 <br />
有的时候， <br />
我们想想想哭， <br />
为什么四年会过得那么快。 <br />
四年前， <br />
木瓜是那么可爱。 <br />
乡下来的木瓜， <br />
没有见过的东西太多， <br />
就和我们到他家乡的时候一样。 <br />
<br />
4 <br />
我们出去玩， <br />
5块钱去看了一场歌舞演出， <br />
才开幕， <br />
木瓜就尖叫了， <br />
女人还没穿好衣服， <br />
怎么就开幕了。 <br />
但是现在， <br />
木瓜不一样了。 <br />
<br />
<br />
5 <br />
一个全国闻名的富翁死了， <br />
木瓜悲伤得直哭。 <br />
老二问， <br />
哭这么伤心， <br />
难道他是你的父亲？ <br />
木瓜哭得更厉害了， <br />
他说， <br />
为什么， <br />
他不是我的父亲。 <br />
<br />
6 <br />
怀念呆瓜洪睡觉时候的呼噜声， <br />
除了木瓜。 <br />
呆瓜洪睡觉总是打呼噜， <br />
木瓜睡不着， <br />
夜夜失眠， <br />
没有办法， <br />
只好去看医生。 <br />
医生给木瓜开了些安眠药， <br />
并告诫他， <br />
放好一点， <br />
别让呆瓜洪偷吃了。 <br />
<br />
7 <br />
这事被我们知道了， <br />
呆瓜洪觉得很不好意思， <br />
只好每夜忍着先让木瓜睡着了再睡， <br />
当然，顺便也提醒木瓜吃安眠药， <br />
一天夜里很晚了， <br />
呆瓜洪迷糊中忽然叫起睡熟了的木瓜， <br />
告诉木瓜忘了吃安眠药。 <br />
<br />
8 <br />
有时候我们也搞班级活动， <br />
我上去出脑筋急转弯， <br />
老二回答。 <br />
请问， <br />
一张中甲球票和一张中超球票掉在地上， <br />
你捡哪张？ <br />
答案是， <br />
一张都不捡。 <br />
<br />
9 <br />
你坐在一辆公交车上， <br />
车上包括你一共有5个乘客， <br />
其中， <br />
一个乘客在睡觉， <br />
一个乘客在看报纸， <br />
一个乘客在东张西望， <br />
一个乘客一本正经地坐着， <br />
请问，哪个是小偷？ <br />
答案是， <br />
除了你全部都是。 <br />
<br />
<br />
<br />
<br />
<br />
10 <br />