<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>dolphin_ygj</title>
    <description>相信自已，拼搏后才知道结果会怎样！</description>
    <link>http://dolphin-ygj.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>一个计算两个日期相差的月份的函数</title>
        <author>dolphin_ygj</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://dolphin-ygj.javaeye.com">dolphin_ygj</a>&nbsp;
          链接：<a href="http://dolphin-ygj.javaeye.com/blog/84555" style="color:red;">http://dolphin-ygj.javaeye.com/blog/84555</a>&nbsp;
          发表时间: 2007年05月29日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="code_title">java 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-j">
    <li class="alt"><span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;</span><span class="keyword">int</span><span>&nbsp;getMonths(GregorianCalendar&nbsp;g1,&nbsp;GregorianCalendar&nbsp;g2) &nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">int</span><span>&nbsp;elapsed&nbsp;=&nbsp;</span><span class="number">0</span><span>; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GregorianCalendar&nbsp;gc1,&nbsp;gc2; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(g2.after(g1)) &nbsp;&nbsp;</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;gc2&nbsp;=&nbsp;(GregorianCalendar)&nbsp;g2.clone(); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gc1&nbsp;=&nbsp;(GregorianCalendar)&nbsp;g1.clone(); &nbsp;&nbsp;</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><span class="keyword">else</span><span>&nbsp;&nbsp;</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;&nbsp;&nbsp;&nbsp;&nbsp;gc2&nbsp;=&nbsp;(GregorianCalendar)&nbsp;g1.clone(); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gc1&nbsp;=&nbsp;(GregorianCalendar)&nbsp;g2.clone(); &nbsp;&nbsp;</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;&nbsp;&nbsp;gc1.clear(Calendar.MILLISECOND); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gc1.clear(Calendar.SECOND); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gc1.clear(Calendar.MINUTE); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gc1.clear(Calendar.HOUR_OF_DAY); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gc1.clear(Calendar.DATE); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gc2.clear(Calendar.MILLISECOND); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gc2.clear(Calendar.SECOND); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gc2.clear(Calendar.MINUTE); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gc2.clear(Calendar.HOUR_OF_DAY); &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gc2.clear(Calendar.DATE); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">while</span><span>&nbsp;(gc1.before(gc2)) &nbsp;&nbsp;</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;&nbsp;&nbsp;&nbsp;&nbsp;gc1.add(Calendar.MONTH,&nbsp;</span><span class="number">1</span><span>); &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elapsed++; &nbsp;&nbsp;</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><span class="keyword">return</span><span>&nbsp;elapsed; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
</ol>
</div>
          <br/><br/>
          <span style="color:red;">
            <a href="http://dolphin-ygj.javaeye.com/blog/84555#comments" style="color:red;">已有 <strong>2</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Tue, 29 May 2007 22:30:25 +0800</pubDate>
        <link>http://dolphin-ygj.javaeye.com/blog/84555</link>
        <guid>http://dolphin-ygj.javaeye.com/blog/84555</guid>
      </item>
      <item>
        <title>编程就像打游戏---intelliJ常用快捷键</title>
        <author>dolphin_ygj</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://dolphin-ygj.javaeye.com">dolphin_ygj</a>&nbsp;
          链接：<a href="http://dolphin-ygj.javaeye.com/blog/71850" style="color:red;">http://dolphin-ygj.javaeye.com/blog/71850</a>&nbsp;
          发表时间: 2007年04月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman">1 </font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">代码编辑</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman"> <o:p></o:p></font></span></p>
<p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><font color="#ff0000"><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman">Ctrl + J<span style="mso-tab-count: 3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">插入模板</span></font><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman">Ctrl + Blank<span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">未完代码自动生成</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><font face="Times New Roman">Shift + F6 <span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp; </span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">以重构方式改名</span><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman">Ctrl + D<span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp; </span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">直接复制行到下一行</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><font face="Times New Roman">Ctrl + shift</font></span><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">+</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">&uarr;<span lang="EN-US"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span></span></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN">上移一行</span><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt"><o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><font face="Times New Roman">Ctrl + shift</font></span><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">+</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">&darr;<span lang="EN-US"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span></span></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN">下移一行<o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman">Alt + Ins <span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp; </span><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp; </span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">构造和</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman">GET/SET</font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">方法自动生成</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><font face="Times New Roman">Ctrl + Alt + L<span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: ???; mso-hansi-font-family: ???">自动格式代码</span><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><o:p><font face="Times New Roman">&nbsp;</font></o:p></span></p>
<p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman">Ctrl + Y<span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp; </span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">删除行</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman">Ctrl + Alt + J<span style="mso-spacerun: yes">&nbsp;&nbsp; </span><span style="mso-tab-count: 1"></span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">大小括号自动插入</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman">Ctrl + Alt + I<span style="mso-spacerun: yes">&nbsp;&nbsp; </span><span style="mso-tab-count: 1"></span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">自动调整缩进</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman">Ctrl + Shift + J<span style="mso-spacerun: yes">&nbsp;&nbsp; </span><span style="mso-tab-count: 1">&nbsp; </span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">合并行</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><o:p><font face="Times New Roman">&nbsp;</font></o:p></span></p>
<p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman">Ctrl + C <span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp; </span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">未选时选择复制光标所在行</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman">Ctrl + P<span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp; </span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">粘贴</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><font face="Times New Roman"><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN">Ctrl + shift+Z<span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-tab-count: 1">&nbsp;&nbsp; </span>redo</span><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt"><o:p></o:p></span></font></p>
<p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><o:p><font face="Times New Roman">&nbsp;</font></o:p></span></p>
<p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman">F6<span style="mso-tab-count: 3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">以重构方式移动方法到其他类</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman">F5<span style="mso-tab-count: 3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">以重构方式复制方法到其他类</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman">Ctrl + F6<span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp; </span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">以重构方式对方法进行修改</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman">Alt + Del<span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp; </span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">以重构方式进行安全删除</span></p>
<span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><font face="Times New Roman">Ctrl+alt+M<span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">把一段代码重构为一个方法</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><font face="Times New Roman">ctrl+alt+V<span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: ???; mso-hansi-font-family: ???">将一个有返回类型的函数的返回值，用一个变量接受。</span><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><o:p></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">&nbsp;</p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><o:p><font face="Times New Roman">&nbsp;</font></o:p></span></p>
<p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman">Ctrl + / <span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp; </span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">注释行</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman"> </font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">以</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman">//</font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">方式</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman">Ctrl + Shift + /<span style="mso-spacerun: yes">&nbsp; </span><span style="mso-tab-count: 1">&nbsp;&nbsp; </span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">注释行</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman"> </font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">以</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman">/**/</font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">方式</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><span style="mso-spacerun: yes"><font face="Times New Roman">&nbsp; </font></span></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">取消时从后向前选择</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">再</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman"> Ctrl + Shift + /<o:p></o:p></font></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><o:p><font face="Times New Roman">&nbsp;</font></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman">2. </font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">定位</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span>Alt + F1<span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">在定位当前文件到左边结构树的节点上</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span>Alt + </font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: Wingdings; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-char-type: symbol; mso-symbol-font-family: Wingdings; mso-ascii-font-family: ???; mso-hansi-font-family: ???"><span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings">&agrave;</span></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><span style="mso-spacerun: yes"><font face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">当前文件的后一个文件</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman">(</font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">已打开的</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman">)<o:p></o:p></font></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span>Alt + </font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: Wingdings; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-char-type: symbol; mso-symbol-font-family: Wingdings; mso-ascii-font-family: ???; mso-hansi-font-family: ???"><span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings">&szlig;</span></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><span style="mso-spacerun: yes"><font face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">当前文件的前一个文件</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span>Ctrl+Alt+</font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: Wingdings; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-char-type: symbol; mso-symbol-font-family: Wingdings; mso-ascii-font-family: ???; mso-hansi-font-family: ???"><span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings">&agrave;</span></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><span style="mso-spacerun: yes"><font face="Times New Roman">&nbsp;&nbsp;&nbsp; </font></span></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">当前文件的后一个编辑过的文件</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 16.5pt; mso-char-indent-count: 1.5"><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman">Ctrl+Alt+</font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: Wingdings; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-char-type: symbol; mso-symbol-font-family: Wingdings; mso-ascii-font-family: ???; mso-hansi-font-family: ???"><span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings">&szlig;</span></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;</span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">当前文件的前一个编辑过的文件</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 16.5pt; mso-char-indent-count: 1.5"><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><font face="Times New Roman">Alt+F7<span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">找到引用当前文件的位置</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><o:p></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 16.5pt; mso-char-indent-count: 1.5"><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><font face="Times New Roman">Ctrl+shift+F7<span style="mso-spacerun: yes">&nbsp; </span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN; mso-ascii-font-family: ???; mso-hansi-font-family: ???">高亮显示选中的字符串。</span><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><o:p></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><font face="Times New Roman"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span>F4<span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: ???; mso-hansi-font-family: ???">打开引用类</span><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><o:p></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><font face="Times New Roman"><span style="mso-spacerun: yes">&nbsp; </span><span style="mso-spacerun: yes">&nbsp;</span>Ctrl+H<span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: ???; mso-hansi-font-family: ???">继承关系结构树</span><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><o:p></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><font face="Times New Roman"><span style="mso-spacerun: yes">&nbsp; </span>Ctrl+shift+N<span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: ???; mso-hansi-font-family: ???">快速打开任意文件</span><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><o:p></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><font face="Times New Roman"><span style="mso-spacerun: yes">&nbsp; </span>Ctrl+N<span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: ???; mso-hansi-font-family: ???">快速打开</span><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><font face="Times New Roman">java</font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: ???; mso-hansi-font-family: ???">文件</span><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><o:p></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><o:p><font face="Times New Roman">&nbsp;</font></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><font face="Times New Roman">3. </font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: ???; mso-hansi-font-family: ???">运行</span><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><o:p></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><font face="Times New Roman"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span>Ctrl+shift+f9<span style="mso-spacerun: yes">&nbsp; </span></font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: ???; mso-hansi-font-family: ???">编译</span><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><o:p></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><font face="Times New Roman"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span>Ctrl+shift+f10 </font></span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: ???; mso-hansi-font-family: ???">运行</span><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><o:p></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><font face="Times New Roman"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span>Shift+f9<span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>debug</font></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><font face="Times New Roman"></font></span>&nbsp;</p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><font face="Times New Roman"></font></span>&nbsp;</p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt"><font face="Times New Roman"><o:p>如果还有一些使用频率较高的请跟贴 :)</o:p></font></span></p>
</span><span style="FONT-SIZE: 11pt; COLOR: black; FONT-FAMILY: ???; mso-font-kerning: 0pt; mso-ansi-language: ZH-CN"><o:p></o:p></span>
          <br/><br/>
          <span style="color:red;">
            <a href="http://dolphin-ygj.javaeye.com/blog/71850#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Tue, 17 Apr 2007 13:17:24 +0800</pubDate>
        <link>http://dolphin-ygj.javaeye.com/blog/71850</link>
        <guid>http://dolphin-ygj.javaeye.com/blog/71850</guid>
      </item>
      <item>
        <title>工作流jbpm中join与fork用法</title>
        <author>dolphin_ygj</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://dolphin-ygj.javaeye.com">dolphin_ygj</a>&nbsp;
          链接：<a href="http://dolphin-ygj.javaeye.com/blog/67860" style="color:red;">http://dolphin-ygj.javaeye.com/blog/67860</a>&nbsp;
          发表时间: 2007年04月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>join是和fork一起使用的，主要是从fork<fork></fork>开始会变成两个分枝，同时并行两个流程，最后两个流程在join<join></join>汇合，才能走入<join></join>下面的节点task。</p>
<p>业务罗辑图1 (在附件中，总是图片上传后，在另一台机上的无法显示，郁闷中)</p>
<p>&nbsp;在流程进入 sale 时，将分成两个流程分枝，一个是送货，一个是付款帐单，两个流程各自独立。</p>
<p>如果送货流程先完成 receive item 节点任务，那么它必须等待付款流程完成send money 节点任务，这时整个流程才能进入下一个任务。这种情况下用fork与join共同实现这样的场景。</p>
<p>业务罗辑图2 (在附件中,上图1情况相同)</p>
<p>&nbsp;流程定义文件(回头有时间我会提交一个完整的jbpm的发部包的)：</p>
<p>&nbsp;</p>
<div class="code_title">xml 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-xml">
    <li class="alt"><span><span class="comments"><!--sp--></span><span>xml&nbsp;</span><span class="attribute">version</span><span>=</span><span class="attribute-value">&quot;1.0&quot;</span><span>&nbsp;</span><span class="attribute">encoding</span><span>=</span><span class="attribute-value">&quot;UTF-8&quot;</span><span class="tag">?&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></span> </li>
    <li class=""><span></span><span class="tag">&lt;</span><span class="tag-name">process-definition</span><span>&nbsp;</span><span class="attribute">xmlns</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;sale&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">start-state</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;start&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">transition</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span>&nbsp;</span><span class="attribute">to</span><span>=</span><span class="attribute-value">&quot;拍卖&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;start-state</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">end-state</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;end1&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">task-node</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;拍卖&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">transition</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span>&nbsp;</span><span class="attribute">to</span><span>=</span><span class="attribute-value">&quot;fork1&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;task-node</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">fork</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;fork1&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">transition</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;运送&quot;</span><span>&nbsp;</span><span class="attribute">to</span><span>=</span><span class="attribute-value">&quot;发货&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">transition</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;帐单&quot;</span><span>&nbsp;</span><span class="attribute">to</span><span>=</span><span class="attribute-value">&quot;付款&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;fork</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">join</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;join1&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">transition</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;交易完成&quot;</span><span>&nbsp;</span><span class="attribute">to</span><span>=</span><span class="attribute-value">&quot;end1&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;join</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">task-node</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;发货&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">transition</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span>&nbsp;</span><span class="attribute">to</span><span>=</span><span class="attribute-value">&quot;货物验收&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;task-node</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">task-node</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;货物验收&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">transition</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span>&nbsp;</span><span class="attribute">to</span><span>=</span><span class="attribute-value">&quot;join1&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;task-node</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">task-node</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;付款&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">transition</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span>&nbsp;</span><span class="attribute">to</span><span>=</span><span class="attribute-value">&quot;货款验收&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;task-node</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">task-node</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;货款验收&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">transition</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span>&nbsp;</span><span class="attribute">to</span><span>=</span><span class="attribute-value">&quot;join1&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;task-node</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span></span><span class="tag">&lt;</span><span class="tag-name">process-definition</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </li>
</ol>
</div>
          <br/><br/>
          <span style="color:red;">
            <a href="http://dolphin-ygj.javaeye.com/blog/67860#comments" style="color:red;">已有 <strong>3</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Wed, 04 Apr 2007 13:24:10 +0800</pubDate>
        <link>http://dolphin-ygj.javaeye.com/blog/67860</link>
        <guid>http://dolphin-ygj.javaeye.com/blog/67860</guid>
      </item>
      <item>
        <title>一个java正规表达式工具类 </title>
        <author>dolphin_ygj</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://dolphin-ygj.javaeye.com">dolphin_ygj</a>&nbsp;
          链接：<a href="http://dolphin-ygj.javaeye.com/blog/67398" style="color:red;">http://dolphin-ygj.javaeye.com/blog/67398</a>&nbsp;
          发表时间: 2007年04月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>今天加班，一个同事让我给他讲解一下正规表达式的用法。</p>
<p>猛然想起两年写了一个java的正规表达式的java工具类，分享一下，有用到的欢迎下载使用。</p>
<p>如果你有常用的定义好的，且测试通过的正规表达式，欢迎跟贴，也让我享用一下&nbsp;.</p>
<p>类中用到了 jakarta-oro-2.0.jar 包，请大家自己在 apache网站下下载</p>
<p>在这是junit测试单元类我就不提交了，在main()方法中有几个小测试，有兴趣自己玩吧.</p>
<p>这个工具类目前主要有25种正规表达式(有些不常用，但那时才仔细深入的研究了一下正规，写上瘾了，就当时能想到的都写了): </p>
<p>&nbsp;1.匹配图象;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2 匹配email地址;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3 匹配匹配并提取url&nbsp;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4 匹配并提取http&nbsp;;</p>
<p>&nbsp;5.匹配日期&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6 匹配电话;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7 匹配身份证&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8 匹配邮编代码</p>
<p>9. 不包括特殊字符的匹配 (字符串中不包括符号 数学次方号^ 单引号' 双引号&quot; 分号; 逗号, 帽号: 数学减号- 右尖括号&gt; 左尖括号&lt;&nbsp; 反斜杠\ 即空格,制表符,回车符等&nbsp;</p>
<p>10 匹配非负整数（正整数 + 0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 11 匹配不包括零的非负整数（正整数 &gt; 0)</p>
<p>12 匹配正整数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 13&nbsp; 匹配非正整数（负整数 + 0）&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p>14 匹配负整数;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 15. 匹配整数&nbsp;;</p>
<p>16 匹配非负浮点数（正浮点数 + 0）&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;17. 匹配正浮点数</p>
<p>18 匹配非正浮点数（负浮点数 + 0）&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;19 匹配负浮点数;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p>&nbsp;20 .匹配浮点数<font face="Arial">;</font><font face="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><font face="Arial">21. 匹配由26个英文字母组成的字符串</font><font face="Arial">;&nbsp;&nbsp;&nbsp;</font></p>
<p><font face="Arial">22. 匹配由26个英文字母的大写组成的字符串&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><font face="Arial">&nbsp;</font><font face="Arial">23 匹配由26个英文字母的小写组成的字符串&nbsp;</font></p>
<p><font face="Arial">24 匹配由数字和26个英文字母组成的字符串</font><font face="Arial">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><font face="Arial">25&nbsp; 匹配由数字、26个英文字母或者下划线组成的字符串</font><font face="Arial">;</font></p>
<div class="code_title">java 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-j">
    <li class="alt"><span><span>&nbsp; &nbsp;&nbsp;</span></span> </li>
    <li class=""><span></span><span class="keyword">package</span><span>&nbsp;com.ygj.util; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span></span><span class="keyword">import</span><span>&nbsp;java.util.*; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span></span><span class="keyword">import</span><span>&nbsp;org.apache.oro.text.regex.*; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span></span><span class="comment">/** </span>&nbsp; </li>
    <li class=""><span><span class="comment">&nbsp;*&nbsp;类简介:&nbsp;使用正则表达式验证数据或提取数据,类中的方法全为静态的<br />
    </span></span><span><span class="comment"></span></span><span><span class="comment">&nbsp;*&nbsp;主要方法:1.&nbsp;isHardRegexpValidate(String&nbsp;source,&nbsp;String&nbsp;regexp) </span>&nbsp;</span> </li>
    <li class="alt">
    <pre><span><span class="comment">  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;区分大小写敏感的正规表达式批配 </span>&nbsp;</span> </pre>
    </li>
    <li class=""><span><span class="comment">&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.&nbsp;isSoftRegexpValidate(String&nbsp;source,&nbsp;String&nbsp;regexp) </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;不区分大小写的正规表达式批配 </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.&nbsp;getHardRegexpMatchResult(String&nbsp;source,&nbsp;String&nbsp;regexp) </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;返回许要的批配结果集(大小写敏感的正规表达式批配) </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4.&nbsp;getSoftRegexpMatchResult(String&nbsp;source,&nbsp;String&nbsp;regexp) </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;返回许要的批配结果集(不区分大小写的正规表达式批配) </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;getHardRegexpArray(String&nbsp;source,&nbsp;String&nbsp;regexp) </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;返回许要的批配结果集(大小写敏感的正规表达式批配) </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6.&nbsp;getSoftRegexpMatchResult(String&nbsp;source,&nbsp;String&nbsp;regexp) </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;返回许要的批配结果集(不区分大小写的正规表达式批配) </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.&nbsp;&nbsp;getBetweenSeparatorStr(final&nbsp;String&nbsp;originStr,final&nbsp;char&nbsp;leftSeparator,final&nbsp;char&nbsp;rightSeparator) </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;得到指定分隔符中间的字符串的集合 </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;* </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;*&nbsp;@mail&nbsp;wuzhi2000@hotmail.com </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;*&nbsp;@author&nbsp;ygj </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;*/</span><span>&nbsp;&nbsp;</span></span> </li>
    <li class="alt"><span></span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;</span><span class="keyword">class</span><span>&nbsp;Regexp &nbsp;&nbsp;</span> </li>
    <li class=""><span>{ &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**&nbsp;&nbsp;保放有四组对应分隔符&nbsp;*/</span><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;&nbsp;Set&nbsp;SEPARATOR_SET=</span><span class="keyword">new</span><span>&nbsp;TreeSet(); &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SEPARATOR_SET.add(</span><span class="string">&quot;(&quot;</span><span>); &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SEPARATOR_SET.add(</span><span class="string">&quot;)&quot;</span><span>); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SEPARATOR_SET.add(</span><span class="string">&quot;[&quot;</span><span>); &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SEPARATOR_SET.add(</span><span class="string">&quot;]&quot;</span><span>); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SEPARATOR_SET.add(</span><span class="string">&quot;{&quot;</span><span>); &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SEPARATOR_SET.add(</span><span class="string">&quot;}&quot;</span><span>); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SEPARATOR_SET.add(</span><span class="string">&quot;&lt;&quot;</span><span>); &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SEPARATOR_SET.add(</span><span class="string">&quot;&gt;&quot;</span><span>); &nbsp;&nbsp;</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>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**&nbsp;存放各种正规表达式(以key-&gt;value的形式)&nbsp;*/</span><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;HashMap&nbsp;regexpHash&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;HashMap(); &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**&nbsp;存放各种正规表达式(以key-&gt;value的形式)&nbsp;*/</span><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;&nbsp;List&nbsp;matchingResultList&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;ArrayList(); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Regexp() &nbsp;&nbsp;</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;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;返回&nbsp;Regexp&nbsp;实例 </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return </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><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;Regexp&nbsp;getInstance() &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;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">new</span><span>&nbsp;Regexp(); &nbsp;&nbsp;</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;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配图象&nbsp;<br />
    </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;格式:&nbsp;/相对路径/文件名.后缀&nbsp;(后缀为gif,dmp,png) </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配&nbsp;:&nbsp;/forum/head_icon/admini2005111_ff.gif&nbsp;或&nbsp;admini2005111.dmp<br />
    </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;不匹配:&nbsp;c:/admins4512.gif </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;String&nbsp;icon_regexp&nbsp;=&nbsp;</span><span class="string">&quot;^(/{0,1}\\w){1,}\\.(gif|dmp|png|jpg)$|^\\w{1,}\\.(gif|dmp|png|jpg)$&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配email地址&nbsp;<br />
    </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;格式:&nbsp;XXX@XXX.XXX.XX </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配&nbsp;:&nbsp;foo@bar.com&nbsp;或&nbsp;foobar@foobar.com.au&nbsp;<br />
    </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;不匹配:&nbsp;foo@bar&nbsp;或&nbsp;$$$@bar.com </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;String&nbsp;email_regexp&nbsp;=&nbsp;</span><span class="string">&quot;(?:\\w[-._\\w]*\\w@\\w[-._\\w]*\\w\\.\\w{2,3}$)&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配匹配并提取url&nbsp;<br />
    </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;格式:&nbsp;XXXX://XXX.XXX.XXX.XX/XXX.XXX?XXX=XXX </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配&nbsp;:&nbsp;http://www.suncer.com&nbsp;或news://www<br />
    </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;提取(MatchResult&nbsp;matchResult=matcher.getMatch()): </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;matchResult.group(0)=&nbsp;http://www.suncer.com:8080/index.html?login=true </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;matchResult.group(1)&nbsp;=&nbsp;http </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;matchResult.group(2)&nbsp;=&nbsp;www.suncer.com </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;matchResult.group(3)&nbsp;=&nbsp;:8080 </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;matchResult.group(4)&nbsp;=&nbsp;/index.html?login=true </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;不匹配:&nbsp;c:\window </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </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><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;String&nbsp;url_regexp&nbsp;=&nbsp;</span><span class="string">&quot;(\\w+)://([^/:]+)(:\\d*)?([^#\\s]*)&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配并提取http&nbsp;<br />
    </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;格式:&nbsp;http://XXX.XXX.XXX.XX/XXX.XXX?XXX=XXX&nbsp;或&nbsp;ftp://XXX.XXX.XXX&nbsp;或&nbsp;https://XXX </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配&nbsp;:&nbsp;http://www.suncer.com:8080/index.html?login=true<br />
    </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;提取(MatchResult&nbsp;matchResult=matcher.getMatch()): </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;matchResult.group(0)=&nbsp;http://www.suncer.com:8080/index.html?login=true </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;matchResult.group(1)&nbsp;=&nbsp;http </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;matchResult.group(2)&nbsp;=&nbsp;www.suncer.com </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;matchResult.group(3)&nbsp;=&nbsp;:8080 </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;matchResult.group(4)&nbsp;=&nbsp;/index.html?login=true </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;不匹配:&nbsp;news://www </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;String&nbsp;http_regexp&nbsp;=&nbsp;</span><span class="string">&quot;(http|https|ftp)://([^/:]+)(:\\d*)?([^#\\s]*)&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配日期&nbsp;<br />
    </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;格式(首位不为0):&nbsp;XXXX-XX-XX&nbsp;或&nbsp;XXXX&nbsp;XX&nbsp;XX&nbsp;或&nbsp;XXXX-X-X&nbsp;<br />
    </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;范围:1900--2099&nbsp;<br />
    </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配&nbsp;:&nbsp;2005-04-04&nbsp;<br />
    </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;不匹配:&nbsp;01-01-01 </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;String&nbsp;date_regexp&nbsp;=&nbsp;</span><span class="string">&quot;^((((19){1}|(20){1})d{2})|d{2})[-\\s]{1}[01]{1}d{1}[-\\s]{1}[0-3]{1}d{1}$&quot;</span><span>;</span><span class="comment">//&nbsp;匹配日期 </span><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配电话&nbsp;<br />
    </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;格式为:&nbsp;0XXX-XXXXXX(10-13位首位必须为0)&nbsp;或0XXX&nbsp;XXXXXXX(10-13位首位必须为0)&nbsp;或&nbsp;<br />
    </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;(0XXX)XXXXXXXX(11-14位首位必须为0)&nbsp;或&nbsp;XXXXXXXX(6-8位首位不为0)&nbsp;或 </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;XXXXXXXXXXX(11位首位不为0)&nbsp;<br />
    </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配&nbsp;:&nbsp;0371-123456&nbsp;或&nbsp;(0371)1234567&nbsp;或&nbsp;(0371)12345678&nbsp;或&nbsp;010-123456&nbsp;或 </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;010-12345678&nbsp;或&nbsp;12345678912&nbsp;<br />
    </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;不匹配:&nbsp;1111-134355&nbsp;或&nbsp;0123456789 </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </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><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;String&nbsp;phone_regexp&nbsp;=&nbsp;</span><span class="string">&quot;^(?:0[0-9]{2,3}[-\\s]{1}|\\(0[0-9]{2,4}\\))[0-9]{6,8}$|^[1-9]{1}[0-9]{5,7}$|^[1-9]{1}[0-9]{10}$&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配身份证&nbsp;<br />
    </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;格式为:&nbsp;XXXXXXXXXX(10位)&nbsp;或&nbsp;XXXXXXXXXXXXX(13位)&nbsp;或&nbsp;XXXXXXXXXXXXXXX(15位)&nbsp;或 </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;XXXXXXXXXXXXXXXXXX(18位)&nbsp;<br />
    </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配&nbsp;:&nbsp;0123456789123&nbsp;<br />
    </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;不匹配:&nbsp;0123456 </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;String&nbsp;ID_card_regexp&nbsp;=&nbsp;</span><span class="string">&quot;^\\d{10}|\\d{13}|\\d{15}|\\d{18}$&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配邮编代码&nbsp;<br />
    </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;格式为:&nbsp;XXXXXX(6位)&nbsp;<br />
    </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配&nbsp;:&nbsp;012345&nbsp;<br />
    </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;不匹配:&nbsp;0123456 </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;String&nbsp;ZIP_regexp&nbsp;=&nbsp;</span><span class="string">&quot;^[0-9]{6}$&quot;</span><span>;</span><span class="comment">//&nbsp;匹配邮编代码 </span><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;不包括特殊字符的匹配&nbsp;(字符串中不包括符号&nbsp;数学次方号^&nbsp;单引号'&nbsp;双引号&quot;&nbsp;分号;&nbsp;逗号,&nbsp;帽号:&nbsp;数学减号-&nbsp;右尖括号&gt;&nbsp;左尖括号&lt;&nbsp;&nbsp;反斜杠\&nbsp;即空格,制表符,回车符等&nbsp;)<br />
    </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;格式为:&nbsp;x&nbsp;或&nbsp;一个一上的字符&nbsp;<br />
    </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配&nbsp;:&nbsp;012345&nbsp;<br />
    </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;不匹配:&nbsp;0123456 </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </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><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;String&nbsp;non_special_char_regexp&nbsp;=&nbsp;&quot;^[^'\</span><span class="string">&quot;\\;,:-&lt;&gt;\\s].+$&quot;</span><span>;</span><span class="comment">//&nbsp;匹配邮编代码 </span><span>&nbsp;&nbsp;</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><span class="comment">/** </span>&nbsp; </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配非负整数（正整数&nbsp;+&nbsp;0) </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><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;String&nbsp;non_negative_integers_regexp&nbsp;=&nbsp;</span><span class="string">&quot;^\\d+$&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配不包括零的非负整数（正整数&nbsp;&gt;&nbsp;0) </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;String&nbsp;non_zero_negative_integers_regexp&nbsp;=&nbsp;</span><span class="string">&quot;^[1-9]+\\d*$&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配正整数 </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </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><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;String&nbsp;positive_integer_regexp&nbsp;=&nbsp;</span><span class="string">&quot;^[0-9]*[1-9][0-9]*$&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配非正整数（负整数&nbsp;+&nbsp;0） </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;String&nbsp;non_positive_integers_regexp&nbsp;=&nbsp;</span><span class="string">&quot;^((-\\d+)|(0+))$&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配负整数 </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </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><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;String&nbsp;negative_integers_regexp&nbsp;=&nbsp;</span><span class="string">&quot;^-[0-9]*[1-9][0-9]*$&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配整数 </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;String&nbsp;integer_regexp&nbsp;=&nbsp;</span><span class="string">&quot;^-?\\d+$&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配非负浮点数（正浮点数&nbsp;+&nbsp;0） </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </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><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;String&nbsp;non_negative_rational_numbers_regexp&nbsp;=&nbsp;</span><span class="string">&quot;^\\d+(\\.\\d+)?$&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配正浮点数 </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;String&nbsp;positive_rational_numbers_regexp&nbsp;=&nbsp;</span><span class="string">&quot;^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配非正浮点数（负浮点数&nbsp;+&nbsp;0） </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </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><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;String&nbsp;non_positive_rational_numbers_regexp&nbsp;=&nbsp;</span><span class="string">&quot;^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配负浮点数 </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;String&nbsp;negative_rational_numbers_regexp&nbsp;=&nbsp;</span><span class="string">&quot;^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配浮点数 </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </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><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;String&nbsp;rational_numbers_regexp&nbsp;=&nbsp;</span><span class="string">&quot;^(-?\\d+)(\\.\\d+)?$&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配由26个英文字母组成的字符串 </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;String&nbsp;letter_regexp&nbsp;=&nbsp;</span><span class="string">&quot;^[A-Za-z]+$&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配由26个英文字母的大写组成的字符串 </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </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><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;String&nbsp;upward_letter_regexp&nbsp;=&nbsp;</span><span class="string">&quot;^[A-Z]+$&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配由26个英文字母的小写组成的字符串 </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;String&nbsp;lower_letter_regexp&nbsp;=&nbsp;</span><span class="string">&quot;^[a-z]+$&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配由数字和26个英文字母组成的字符串 </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </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><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;String&nbsp;letter_number_regexp&nbsp;=&nbsp;</span><span class="string">&quot;^[A-Za-z0-9]+$&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;匹配由数字、26个英文字母或者下划线组成的字符串 </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">final</span><span>&nbsp;String&nbsp;letter_number_underline_regexp&nbsp;=&nbsp;</span><span class="string">&quot;^\\w+$&quot;</span><span>; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;添加正规表达式&nbsp;(以key-&gt;value的形式存储) </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;regexpName </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;该正规表达式名称&nbsp;` </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;regexp </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;该正规表达式内容 </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;putRegexpHash(String&nbsp;regexpName,&nbsp;String&nbsp;regexp) &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;regexpHash.put(regexpName,&nbsp;regexp); &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;得到正规表达式内容&nbsp;(通过key名提取出value[正规表达式内容]) </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;regexpName </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;正规表达式名称 </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;正规表达式内容 </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><span class="keyword">public</span><span>&nbsp;String&nbsp;getRegexpHash(String&nbsp;regexpName) &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;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(regexpHash.get(regexpName)&nbsp;!=&nbsp;</span><span class="keyword">null</span><span>) &nbsp;&nbsp;</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;</span><span class="keyword">return</span><span>&nbsp;((String)&nbsp;regexpHash.get(regexpName)); &nbsp;&nbsp;</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><span class="keyword">else</span><span>&nbsp;&nbsp;</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.out.println(</span><span class="string">&quot;在regexpHash中没有此正规表达式&quot;</span><span>); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;</span><span class="string">&quot;&quot;</span><span>; &nbsp;&nbsp;</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;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;清除正规表达式存放单元 </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><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">void</span><span>&nbsp;clearRegexpHash() &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;&nbsp;&nbsp;regexpHash.clear(); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>; &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp; </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;大小写敏感的正规表达式批配 </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;source </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;批配的源字符串 </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;regexp </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;批配的正规表达式 </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* </span>&nbsp;</span> </li>
    <li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;如果源字符串符合要求返回真,否则返回假&nbsp;如:&nbsp;&nbsp;Regexp.isHardRegexpValidate(&quot;ygj@suncer.com.cn&quot;,email_regexp)&nbsp;返回真 </span>&nbsp;</span> </li>
    <li class=""><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;&nbsp;</span></span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">boolean</span><span>&nbsp;isHardRegexpValidate(String&nbsp;source,&nbsp;String&nbsp;regexp) &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">try</span><span>&nbsp;&nbsp;</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;</span><span class="comment">//&nbsp;用于定义正规表达式对象模板类型 </span><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PatternCompiler&nbsp;compiler&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;Perl5Compiler(); &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;正规表达式比较批配对象 </span><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PatternMatcher&nbsp;matcher&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;Perl5Matcher(); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;实例大小大小写敏感的正规表达式模板 </span><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pattern&nbsp;hardPattern&nbsp;=&nbsp;compiler.compile(regexp); &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;返回批配结果 </span><span>&nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;matcher.contains(source,&nbsp;hardPattern); &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;</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><span class="keyword">catch</span><span>&nbsp;(MalformedPatternException&nbsp;e) &nbsp;&nbsp;</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;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace(); &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</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><span class="keyword">return</span><span>&nbsp;</span><span class="keyword">false</span><span>; &nbsp;&nbsp;</span> </li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </li>
    <li class=""><span>&nbsp;&nbsp;</span> </li>
</ol>
</div>
          <br/><br/>
          <span style="color:red;">
            <a href="http://dolphin-ygj.javaeye.com/blog/67398#comments" style="color:red;">已有 <strong>16</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Mon, 02 Apr 2007 16:44:09 +0800</pubDate>
        <link>http://dolphin-ygj.javaeye.com/blog/67398</link>
        <guid>http://dolphin-ygj.javaeye.com/blog/67398</guid>
      </item>
  </channel>
</rss>