??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲精品在线免费看,亚洲美女在线观看播放,人人狠狠综合久久亚洲高清http://m.tkk7.com/zhangrenquan/category/6022.htmlzh-cnFri, 02 Mar 2007 07:43:06 GMTFri, 02 Mar 2007 07:43:06 GMT60winXP自动x命ohttp://m.tkk7.com/zhangrenquan/archive/2006/08/07/62166.htmlkelvenkelvenMon, 07 Aug 2006 06:18:00 GMThttp://m.tkk7.com/zhangrenquan/archive/2006/08/07/62166.htmlhttp://m.tkk7.com/zhangrenquan/comments/62166.htmlhttp://m.tkk7.com/zhangrenquan/archive/2006/08/07/62166.html#Feedback0http://m.tkk7.com/zhangrenquan/comments/commentRss/62166.htmlhttp://m.tkk7.com/zhangrenquan/services/trackbacks/62166.html
比如你的电脑要在22:00xQ可以选择“开始→q行”,输入“at 22:00 Shutdown -s”,q样Q到?2点电脑就会出现“系l关机”对话框Q默认有30U钟的倒计时ƈ提示你保存工作。如果你想以倒计时的方式xQ可以输入“Shutdown.exe -s -t 3600”,q里表示60分钟后自动关机,?600”代?0分钟?br />
讄好自动关机后Q如果想取消的话Q可以在q行中输入“shutdown -a”。另外输入“shutdown -i”,则可以打开讄自动x对话框,对自动关行设|?br />
Shutdown.exe的参敎ͼ每个都具有特定的用途,执行每一个都会生不同的效果Q比如?s”就表示关闭本地计算机,?a”表C取消关机操作,下面列出了更多参敎ͼ大家可以在Shutdown.exe中按需使用?br />
  -fQ强行关闭应用程?br />  -mQ\\计算机名Q控制远E计机
  -iQ显C图形用L面,但必LShutdown的第一个选项
  -lQ注销当前用户
  -rQ关机ƈ重启
  -tQ时_讄x倒计?br />  -cQ“消息内容”:输入x对话框中的消息内?不能?27个字W?

kelven 2006-08-07 14:18 发表评论
]]>
TOMCAT中数据库q接池的配置http://m.tkk7.com/zhangrenquan/archive/2006/06/14/52684.htmlkelvenkelvenWed, 14 Jun 2006 03:17:00 GMThttp://m.tkk7.com/zhangrenquan/archive/2006/06/14/52684.htmlhttp://m.tkk7.com/zhangrenquan/comments/52684.htmlhttp://m.tkk7.com/zhangrenquan/archive/2006/06/14/52684.html#Feedback0http://m.tkk7.com/zhangrenquan/comments/commentRss/52684.htmlhttp://m.tkk7.com/zhangrenquan/services/trackbacks/52684.html1Q将数据库驱动程序的JAR文g攑֜Tomcat的 common/lib 中;
2Q在server.xml中设|数据源Q以MySQL数据库ؓ例,如下Q?br />?lt;GlobalNamingResources> </GlobalNamingResources>节点中加入,
      <Resource
      name="jdbc/DBPool"
      type="javax.sql.DataSource"
      password="root"
      driverClassName="com.mysql.jdbc.Driver"
      maxIdle="2"
      maxWait="5000"
      username="root"
      url="jdbc:mysql://127.0.0.1:3306/test"
      maxActive="4"/>
   属性说明:nameQ数据源名称Q通常取”jdbc/XXX”的格式Q?br />            typeQ”javax.sql.DataSource?
            passwordQ数据库用户密码Q?br />            driveClassNameQ数据库驱动Q?br />            maxIdleQ最大空闲数Q数据库q接的最大空闲时间。超q空闲时_数据库连
                     接将被标Cؓ不可用,然后被释放。设?表示无限制?br />            MaxActiveQ连接池的最大数据库q接数。设?表示无限制?br />            maxWait Q最大徏立连接等待时间。如果超q此旉接到异常。设?1表示
                     无限制?br />3Q在你的web应用E序的web.xml中设|数据源参考,如下Q?br />  ?lt;web-app></web-app>节点中加入,
  <resource-ref>
    <description>MySQL DB Connection Pool</description>
    <res-ref-name>jdbc/DBPool</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
 </resource-ref>
  子节点说明: descriptionQ描qC息;
               res-ref-nameQ参考数据源名字Q同上一步的属性nameQ?br />               res-typeQ资源类型,”javax.sql.DataSource”;
               res-authQ”Container”;
               res-sharing-scopeQ”Shareable”;
4Q在web应用E序的context.xml中设|数据源链接Q如下:
  ?lt;Context></Context>节点中加入,
  <ResourceLink
   name="jdbc/DBPool" 
   type="javax.sql.DataSource" 
   global="jdbc/DBPool"/>
   属性说明:nameQ同W?步和W?步的属性name|和子节点res-ref-name|
             typeQ同样取”javax.sql.DataSource”;
             globalQ同name倹{?br /> 
xQ设|完成,下面是如何用数据库q接池?br />1Q徏立一个连接池c,DBPool.javaQ用来创接池Q代码如下:
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

public class DBPool {
    private static DataSource pool;
    static {
         Context env = null;
          try {
              env = (Context) new InitialContext().lookup("java:comp/env");
              pool = (DataSource)env.lookup("jdbc/DBPool");
              if(pool==null) 
                  System.err.println("'DBPool' is an unknown DataSource");
               } catch(NamingException ne) {
                  ne.printStackTrace();
          }
      }
    public static DataSource getPool() {
        return pool;
    }
}

2Q在要用到数据库操作的类或jsp面中,用DBPool.getPool().getConnection()Q获得一个Connection对象Q就可以q行数据库操作,最后别忘了对Connection对象调用close()Ҏ(gu)Q注意:q里不会关闭q个ConnectionQ而是这个Connection攑֛数据库连接池?br />

kelven 2006-06-14 11:17 发表评论
]]>
|页素材http://m.tkk7.com/zhangrenquan/archive/2006/03/24/37221.htmlkelvenkelvenFri, 24 Mar 2006 06:59:00 GMThttp://m.tkk7.com/zhangrenquan/archive/2006/03/24/37221.htmlhttp://m.tkk7.com/zhangrenquan/comments/37221.htmlhttp://m.tkk7.com/zhangrenquan/archive/2006/03/24/37221.html#Feedback0http://m.tkk7.com/zhangrenquan/comments/commentRss/37221.htmlhttp://m.tkk7.com/zhangrenquan/services/trackbacks/37221.htmlhttp://www.021123.com/

kelven 2006-03-24 14:59 发表评论
]]>
Tomcat4/5q接池的讄及简单应用示?/title><link>http://m.tkk7.com/zhangrenquan/archive/2006/03/22/36810.html</link><dc:creator>kelven</dc:creator><author>kelven</author><pubDate>Wed, 22 Mar 2006 03:30:00 GMT</pubDate><guid>http://m.tkk7.com/zhangrenquan/archive/2006/03/22/36810.html</guid><wfw:comment>http://m.tkk7.com/zhangrenquan/comments/36810.html</wfw:comment><comments>http://m.tkk7.com/zhangrenquan/archive/2006/03/22/36810.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/zhangrenquan/comments/commentRss/36810.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/zhangrenquan/services/trackbacks/36810.html</trackback:ping><description><![CDATA[1.安装JDK1.4和jakarta-tomcat-4.1.27.exe?br /><br />  路径分别?D:\jdk1.4 ?D:\Tomcat 4.1?br />  安装Tomcat 4Ӟ会要求填写web讉K端口、用户名、密码等信息?br />  web讉K端口默认?080Q用户名默认为adminQ密码自己填写?br /><br />  启动Tomcat4Q访?a ><u><font color="#0000ff">http://127.0.0.1:8080/</font></u></a> Q就能看到Apache Tomcat/4.1.27的欢q访问页面,面上有一些相关介l信息等?br /><br /><br />2.讄数据库的驱动<br /><br />  以Oracle的JDBC驱动讄ZQ?br /><br />  Oracle8i的驱动在\oracle\ora81\jdbc\lib\目录下。名字ؓclasses12.zip?br /><br />  Oracle9i的驱动在\oracle9i\jdbc\lib\目录下,名字为ojdbc14.jar?br /><br />  这个文件copy到D:\Tomcat 4.1\common\lib 下?br /><br />  注意Q如果用Oracle8i 的驱动,则需要在D:\Tomcat 4.1\common\lib 目录下将classes12.zip更名为classes12.jarQ因为Tomcat4不认识zip的后~名?br /><br /><br />3.讄Web应用?br /><br />  新徏一个文件夹Q名字ؓmypoolQ位|ؓD:\mypool。这个D:\mypool路径是web应用的主目录?br /><br />  打开D:\Tomcat 4.1\conf\server.xml 文gQ找到如下行Q?br />  <br />   <!-- Tomcat Root Context --><br />     <!--<br />         <Context path="" docBase="ROOT" debug="0"/><br />     --><br /> <br /> <br />  在这下面Q加入如下行Q?br />  <br />  <Context path="/mypool" docBase="D:\mypool" privileged="true" reloadable="true"/><br /><br />  <br />  完成后,成ؓq个样子Q?br /><br />    <!-- Tomcat Root Context --><br />     <!--<br />          <Context path="" docBase="ROOT" debug="0"/><br />      --><br />    <br />     <Context path="/mypool" docBase="D:\mypool" privileged="true" reloadable="true"/><br /><br />  保存D:\Tomcat 4.1\conf\server.xml 文g?br /><br />  配置完成后,重新启动TomcatQ就可以q样讉Kq个web应用了: <a ><u><font color="#0000ff">http://127.0.0.1:8080/mypool/</font></u></a> ?br /><br /><br />4.讄Tomcat的连接池数据源?br /><br />  讉K <a ><u><font color="#0000ff">http://127.0.0.1:8080/admin</font></u></a> 面Q用刚才安装 Tomcat4 时填写的用户名和密码d?br /><br />  d成功后,会出现Tomcat 的web应用理界面QTomcat Web Server Administration ToolQ?br /><br />  然后在左边的目录树点几ZData Sources”项Q右边可以看到JNDI配置的页面?br /> <br />  在右上角的下拉框中选择“Create New Data Source”,接下来填写配|信息:<br />  <br />  JNDI Name: jdbc/myOrcl  <br />  Data Source URL: jdbc:oracle:thin:@192.168.6.40:1521:dbserver<br />  JDBC Driver Class: oracle.jdbc.driver.OracleDriver<br />  User Name: myname<br />  Password: mypassword<br />  Max. Active Connections:  可用默认?<br />  Max. Idle Connections:    可用默认?br />  Max. Wait for Connection: 可用默认?br />  Validation Query: 可不填写?br /><br />  然后Q按下“save”按钮保存?br />  再按下“Commit Changes”按钮将配置更改提交完成?br /><br />  此时如果看看 Tomcat4 的窗口,会发现在最下面有一行文字提C:  <br /><br />   Debugging -- changes saved to conf/server.xml<br /> <br />  此时 D:\Tomcat 4.1\conf\server.xml 文g的配|已l更改保存完毕?br /><br /><br />  如果此时打开D:\Tomcat 4.1\conf\server.xml 文gQ会发现server.xml 文g的内Ҏ(gu)变了很多?br />  一些注释文字都被去掉了?br /><br />  q会发现上面W三步配|Web应用的如下文?br />    <br />   <!-- Tomcat Root Context --><br />     <!--<br />          <Context path="" docBase="ROOT" debug="0"/><br />      --><br />    <br />     <Context path="/mypool" docBase="D:\mypool" privileged="true" reloadable="true"/><br /><br />  则被自动修改成了q样的:<br /><br />     <Context className="org.apache.catalina.core.StandardContext" cachingAllowed="true" charsetMapperClass="org.apache.catalina.util.CharsetMapper" cookies="true" crossContext="false" debug="0" docBase="D:\mypool" mapperClass="org.apache.catalina.core.StandardContextMapper" path="/mypool" privileged="true" reloadable="true" swallowOutput="false" useNaming="true" wrapperClass="org.apache.catalina.core.StandardWrapper"><br />        </Context><br /><br />    <br />   好了Q至此位|,对Oracle的应用连接池已经配置完毕?br />   <br />   仔细对照server.xml 文gQ会发现刚才所配置的连接池信息被放|在<GlobalNamingResources>标签中,q意味着q个信息是可以被全局引用的,大致是如下的样子Q?br /><br />    <GlobalNamingResources><br />    <Environment name="simpleValue" override="true" type="java.lang.Integer" value="30"/><br />    <Resource name="jdbc/myOrcl" scope="Shareable" type="javax.sql.DataSource"/><br />    <Resource auth="Container" description="User database that can be updated and saved" name="UserDatabase" scope="Shareable" type="org.apache.catalina.UserDatabase"/><br />    <br />    <ResourceParams name="jdbc/myOrcl"><br />      <parameter><br />        <name>maxWait</name><br />        <value>5000</value><br />      </parameter><br />      <parameter><br />        <name>maxActive</name><br />        <value>200</value><br />      </parameter><br />      <parameter><br />        <name>password</name><br />        <value>mypassword</value><br />      </parameter><br />      <parameter><br />        <name>url</name><br />        <value>jdbc:oracle:thin:@192.168.6.40:1521:dbserver</value><br />      </parameter><br />      <parameter><br />        <name>driverClassName</name><br />        <value>oracle.jdbc.driver.OracleDriver</value><br />      </parameter><br />      <parameter><br />        <name>maxIdle</name><br />        <value>20</value><br />      </parameter><br />      <parameter><br />        <name>username</name><br />        <value>myname</value><br />      </parameter><br />    </ResourceParams><br />    <ResourceParams name="UserDatabase"><br />      <parameter><br />        <name>factory</name><br />        <value>org.apache.catalina.users.MemoryUserDatabaseFactory</value><br />      </parameter><br />      <parameter><br />        <name>pathname</name><br />        <value>conf/tomcat-users.xml</value><br />      </parameter><br />    </ResourceParams><br />  </GlobalNamingResources>  <br /><br /><br />5.讄web应用对连接池的引用?br />  <br />  打开D:\Tomcat 4.1\conf\server.xml 文gQ找到刚才配|的web应用文字Q由于刚才server.xml 文g被自动修改过QƈL了很多注释内容,所以刚才配|的web应用<br /><br />   <Context path="/mypool" docBase="D:\mypool" privileged="true" reloadable="true"/><br /><br />  被自动修Ҏ(gu)了这LQ?br /><br />     <Context className="org.apache.catalina.core.StandardContext" cachingAllowed="true" charsetMapperClass="org.apache.catalina.util.CharsetMapper" cookies="true" crossContext="false" debug="0" docBase="D:\mypool" mapperClass="org.apache.catalina.core.StandardContextMapper" path="/mypool" privileged="true" reloadable="true" swallowOutput="false" useNaming="true" wrapperClass="org.apache.catalina.core.StandardWrapper"><br />        </Context><br /><br />  ?lt;Context></Context>的描qC加上本web应用对全局q接池的引用说明Q如下文字:<br /><br />    <ResourceLink global="jdbc/myOrcl" name="jdbc/myOrcl" type="javax.sql.DataSource"/>  <br /><br />  讄完成后,web应用的描q大致如下面的样子:<br /><br />    <Context className="org.apache.catalina.core.StandardContext" cachingAllowed="true" charsetMapperClass="org.apache.catalina.util.CharsetMapper" cookies="true" crossContext="false" debug="0" docBase="D:\mypool" mapperClass="org.apache.catalina.core.StandardContextMapper" path="/mypool" privileged="true" reloadable="true" swallowOutput="false" useNaming="true" wrapperClass="org.apache.catalina.core.StandardWrapper">   <br />   <br />      <ResourceLink global="jdbc/myOrcl" name="jdbc/myOrcl" type="javax.sql.DataSource"/>      <br />   <br /> </Context><br /><br /><br />  保存D:\Tomcat 4.1\conf\server.xml 文g?br /><br />  注意Q设|这个连接池的引用说明是非常重要的一步?br />  一些朋友在Tomcat4中配|连接池p|的原因大都归咎与此。还有网上一些文章说q是一个Tomcat4的一个Bug?br />  我用了整整两天两夜的旉才明白其中的奥秘。[:(]<br />  当时ȝ掉只查一点点。因为毕竟配|一个连接池是很单的。[:(]<br /><br /><br />6.一般情况下Q到此,q接池的讄完成了?br /><br />  然后需要重新启动TomcatQ这样就可以使用q接池来工作了?br /><br />  但是Q看到很多文章上_q需要设|一下web.xml才能应用。我没有讄web.xmlQ连接池也可以完全用?br /><br />  现在说一下web.xml的配|方法?br /><br />  在D:\mypool中新建文件夹Q命名ؓWEB-INFQ注意是大写的字母?br /><br />  然后在D:\mypool\WEB-INF\ 下新建文件web.xmlQ其内容为:<br /><br />  <web-app><br />    <resource-ref><br />        <description>Oracle DataSource example</description><br />        <res-ref-name>jdbc/myOrcl</res-ref-name><br />        <res-type>javax.sql.DataSource</res-type><br />        <res-auth>Container</res-auth><br />    </resource-ref><br />  </web-app><br /><br />  保存D:\mypool\WEB-INF\web.xml 文g?br /><br /><br />7.一个简单的应用CZ?br /><br />  写了一个简单的JSP面Q用q接池来讉K数据库?br /><br />内容如下Q?br />Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q?br /><%@ page contentType="text/html;charset=GBK"%><br /><%@ page import="javax.naming.*"%><br /><%@ page import="javax.sql.*"%><br /><%@ page import="java.sql.*"%><br /><%<br />    try<br />    {                   <br />       Context initCtx = new InitialContext();<br /> <br />       if(initCtx==null)<br />          throw new Exception("没有匚w的环?);<br /><br />       Context ctx = (Context) initCtx.lookup("java:comp/env");<br />      <br />       //获取q接池对?                  <br />       Object obj = (Object) ctx.lookup("jdbc/myOrcl");  <br />      <br />      //cd转换<br />       javax.sql.DataSource ds = (javax.sql.DataSource)obj;<br />         <br />       if(ds==null)<br />          throw new Exception("没有匚w数据?);  <br />    <br />       Connection conn = ds.getConnection();<br />      <br />       Statement stmt = conn.createStatement();                   <br />                             <br />       String strSql="select * from grade";  //SQLQ要保证grade数据表里面有记录?br />                      <br />       ResultSet rs=stmt.executeQuery(strSql);<br /><br />       if(rs.next())<br />         {                     <br />          out.println(rs.getString(1));                          <br />          out.println(rs.getString(2));                      <br />         }<br />       rs.close();      //关闭ResultSet  <br />       stmt.close();    //关闭Statement<br />       conn.close();    //连接放回到q接?br />     }<br /><br />     catch(Exception ex)<br /><br />     {    <br />         ex.printStackTrace();<br />         throw new SQLException("cannot get Connection pool."+ex);<br />     }<br />%><br /><br /><hr><br />Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-<br />  <br />CQ用完后的数据库q接要释放?br />不然当打开的连接过多或恶意刷屏Q连接池的连接数目会被用完?br />当连接池的连接数目用完后Q再讉Kjsp面Ӟ会在面出现如下的错误信息,报告q接池的q接被耗尽Q?br />java.sql.SQLException: DBCP could not obtain an idle db connection, pool exhausted<br /><br /><br /><br /><br />二、Win2k下Tomcat5 的连接池的配|?br /><br />安装jakarta-tomcat-5.0.13.exeQ假如Tomcat5的安装目录ؓ D:\Tomcat 5.0 ?br /><br />别忘了把oracle的驱动程序classes12.jar文gcopy到目?D:\Tomcat 5.0\common\lib\ 下?br /><br />Tomcat5的连接池讄和Tomcat4 的差不多Q仅说明一下不同点或需要特别注意的地方?br /><br /><br />1. Tomcat5启动后,讉K <a ><u><font color="#0000ff">http://127.0.0.1:8080/admin</font></u></a> 面Q当讄完Tomcat的连接池数据源后Q打开D:\Tomcat 5.0\conf\server.xml 文gQ会看到配置的连接池相关信息大致如下样子Q?br /><br /><GlobalNamingResources><br />    <Environment name="simpleValue" type="java.lang.Integer" value="30"/><br />    <Resource name="jdbc/myOrcl" type="javax.sql.DataSource"/><br />    <Resource auth="Container" description="User database that can be updated and saved" name="UserDatabase" type="org.apache.catalina.UserDatabase"/><br />    <ResourceParams name="jdbc/myOrcl"><br />      <parameter><br />        <name>maxWait</name><br />        <value>5000</value><br />      </parameter><br />      <parameter><br />        <name>maxActive</name><br />        <value>4</value><br />      </parameter><br />      <parameter><br />        <name>password</name><br />        <value>mypassword</value><br />      </parameter><br />      <parameter><br />        <name>url</name><br />        <value>jdbc:oracle:thin:@127.0.0.1:1521:dbserver</value><br />      </parameter><br />      <parameter><br />        <name>driverClassName</name><br />        <value>oracle.jdbc.driver.OracleDriver</value><br />      </parameter><br />      <parameter><br />        <name>maxIdle</name><br />        <value>2</value><br />      </parameter><br />      <parameter><br />        <name>username</name><br />        <value>myusername</value><br />      </parameter><br />    </ResourceParams><br />    <ResourceParams name="UserDatabase"><br />      <parameter><br />        <name>factory</name><br />        <value>org.apache.catalina.users.MemoryUserDatabaseFactory</value><br />      </parameter><br />      <parameter><br />        <name>pathname</name><br />        <value>conf/tomcat-users.xml</value><br />      </parameter><br />    </ResourceParams><br />  </GlobalNamingResources><br /><br />可以看到Q一些连接池的信息配|参数已l和Tomcat4不同了?br />但大致配|步骤和Ҏ(gu)都是一L?br /><br /><br />2.讄web应用对连接池的引用?br /><br /> 打开D:\Tomcat 5.0\conf\Catalina\localhost\ 目录Q找到和web应用同名的xml文gQmypool.xmlQ,打开q个文gQ?br />修该?lt;Context></Context>的描qC息,d如下行:<br /><br />   <ResourceLink global="jdbc/myOrcl" name="jdbc/myOrcl" type="javax.sql.DataSource"/>  <br /><br />使mypool.xml文g的内容看h大致q个Q?br />  <br />   <Context docBase="D:/mypool" path="/mypool" privileged="true" reloadable="true"><br />     <ResourceLink global="jdbc/myOrcl" name="jdbc/myOrcl" type="javax.sql.DataSource"/><br />   </Context><br /><br />然后保存mypool.xmlQ需要重新Tomcat5服务Q之生效?br /><br /><br />3.JSP面试文g的写法也是一LQ不再赘q?br /><br />4.一些补充:<br /><br />  如果web应用没有配置对连接池的引用,x有配|?lt;ResourceLink>Q则会在讉Kjsp面时出现如下错误:<br />    NameNotFoundException: Name jdbc is not bound in this Context<br /><br />  如果~少Oracle的JDBC驱动Q则会在讉Kjsp面时出现如下错误:<br />    java.sql.SQLException: Cannot load JDBC driver class 'oracle.jdbc.driver.OracleDriver'<img src ="http://m.tkk7.com/zhangrenquan/aggbug/36810.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/zhangrenquan/" target="_blank">kelven</a> 2006-03-22 11:30 <a href="http://m.tkk7.com/zhangrenquan/archive/2006/03/22/36810.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>诺基亚的一些查询指?/title><link>http://m.tkk7.com/zhangrenquan/archive/2006/02/09/30014.html</link><dc:creator>kelven</dc:creator><author>kelven</author><pubDate>Thu, 09 Feb 2006 04:35:00 GMT</pubDate><guid>http://m.tkk7.com/zhangrenquan/archive/2006/02/09/30014.html</guid><wfw:comment>http://m.tkk7.com/zhangrenquan/comments/30014.html</wfw:comment><comments>http://m.tkk7.com/zhangrenquan/archive/2006/02/09/30014.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/zhangrenquan/comments/commentRss/30014.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/zhangrenquan/services/trackbacks/30014.html</trackback:ping><description><![CDATA[诺基亚手机限制码Q?234<BR>  保密?nbsp;Q?2345<BR>  *#06#:看手机序列号。  <BR>  *#2820# Q看兰牙版本信息Q需要先蓝牙设|ؓ打开状态?BR>  *#92702689# Q这个也是大家常用的一条命令,用来查看pȝ信息?BR>  *#335738#Q删除Email, GPRS, MMS的设|信?BR>  *#7370925538#Q删除电子钱包的内容?nbsp;密码 Q这个比较实用,要是忘记了,你既可以用这个命令,也可?nbsp;恢复出厂 讄Q不q这个更实用?BR>  *#7370#QY件格式化。删除存储空间的内容?BR>  *#7780#Q一?nbsp;恢复出厂 讄的快h作?BR>  *#7220#:恢复一些功?BR>    *#92702689#LIFEQ查pȝ版本<BR>    *#0000#:查系l版?BR><BR>以上是一些NOKIA机型的查询指令,不一定适合所有的NOKIA机型Q但是基本上都可以用?img src ="http://m.tkk7.com/zhangrenquan/aggbug/30014.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/zhangrenquan/" target="_blank">kelven</a> 2006-02-09 12:35 <a href="http://m.tkk7.com/zhangrenquan/archive/2006/02/09/30014.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SqlServer2000 pack3补丁http://m.tkk7.com/zhangrenquan/archive/2006/01/17/28249.htmlkelvenkelvenMon, 16 Jan 2006 17:37:00 GMThttp://m.tkk7.com/zhangrenquan/archive/2006/01/17/28249.htmlhttp://m.tkk7.com/zhangrenquan/comments/28249.htmlhttp://m.tkk7.com/zhangrenquan/archive/2006/01/17/28249.html#Feedback1http://m.tkk7.com/zhangrenquan/comments/commentRss/28249.htmlhttp://m.tkk7.com/zhangrenquan/services/trackbacks/28249.htmlhttp://download.17hk.com/soft.asp?softid=44   (21.6M)
                    http://www.it1848.com/Soft/cyrjxz/yyrjxz/200510/Soft_20051014114011.html (46.4M)

(WindowsXP SP2pȝ上SQLServer2000必须要安装SP3之后的补丁才能正怋?

׃SQL Server Service Packs按照累积形式q行l织Q因此,SP3包含了先期发布的 Service Pack 1QSP1Q与 Service Pack 2QSP2Q中的所有修正程序,它既可应用于全新安装的系l,也可在已l安装SP1或SP2的系l上加以应用?BR>
  优势
  除提供最新更新内容与修正E序外,SQL Server 2000 SP3q能够ؓ(zhn)提供以下优势:

  可维护?BR>  在可l护性方面的改进包括Q?
得以增强的错误报告功能。通过适当配置QSQL Server能够关键性错误信息自动发送至Microsoft公司?
  得以改进的多服务器管理功能?
  用于实现监控的新增API。数据库理员(DBAQ或W三方工具可以对出现问题的进E加以诊?
  性能
  SP3引入了针对QLogic’s VI-enabled SANblade QLA2350 Fibre Channel控制器的支持能力。通过在SQL Server|络互连层上应用虚拟接口QVirtual InterfaceQ技术,在服务器和客Lpȝ上针Ҏ(gu)条消息所消耗的CPU资源得以显著降低Q同Ӟpȝ整体性能得到了相应提高?
  安全?BR>  最新提供的安全Ҏ(gu)与工具包括Q?
  针对SQL Server 2000在线图书的内Ҏ(gu)新。SQL Server 2000在线图书为广大客h供了用以q一步增强应用环境安全性所需的更多指g息?
  安全修补E序。SP3针对用户反映或在持箋试q程中发现的各种已知薄弱环节提供了相应的修复E序?
  SQL Server Agent增强。SP3允许(zhn)在不具备管理员权限的情况下q行SQL Server Agent?img src ="http://m.tkk7.com/zhangrenquan/aggbug/28249.html" width = "1" height = "1" />

kelven 2006-01-17 01:37 发表评论
]]>
MySQL 4.1x 中文q问题http://m.tkk7.com/zhangrenquan/archive/2006/01/01/26238.htmlkelvenkelvenSun, 01 Jan 2006 00:02:00 GMThttp://m.tkk7.com/zhangrenquan/archive/2006/01/01/26238.htmlhttp://m.tkk7.com/zhangrenquan/comments/26238.htmlhttp://m.tkk7.com/zhangrenquan/archive/2006/01/01/26238.html#Feedback0http://m.tkk7.com/zhangrenquan/comments/commentRss/26238.htmlhttp://m.tkk7.com/zhangrenquan/services/trackbacks/26238.html    一是数据导入。在phpMyAdmin内导入后Q发C文变成了q。搜索学习后Q了解到需要设|数据库的collation (校勘)Q如果你的数据库是utf-8的,讄为utf8_general_ci可以了?BR>    二是Q即使正导入了Q在phpMyAdmin里也能正显C,但页面上昄的文章内定w是???”,而模杉K面的汉字都能正常昄。这让我头疼了很久。搜索到Windix’s Weblog上有Ҏ(gu)的说明:
    “从MySQL 4.1开始引入的多语a支持实很棒Q而且一些特性已l超q了其他的数据库pȝ。不q我在测试过E中发现使用适用于MySQL 4.1之前的PHP语句操作MySQL数据库会造成qQ即使是讄q了表字W集也是如此。我M一下新的MySQL在线手册中第十章‘Character Set Support’后l于扑ֈ了解x法ƈ试通过。MySQL 4.1的字W集支持(Character Set Support)有两个方面:字符?Character set)和排序方?Collation)。对于字W集的支持细化到四个层次: 服务?server)Q数据库(database)Q数据表(table)和连?connection)。当我们按照原来的方式通过PHP存取MySQL数据库时Q就设|了表的默认字符集ؓutf8q且通过UTF-8~码发送查询,你会发现存入数据库的仍然是ؕ码。问题就出在q个connectionq接层上。解x法是在发送查询前执行一下下面这句:
SET NAMES ‘utf8??BR>    但是我依旧不知道Q如何,在何处让WordPressq行q个SQL语句。后来在阿修的部落格上查到办法:
  “為著解決這個問必須去修改wp-includes/wp-db.php內的資料連線a定。詳細的修改方式是這樣的:
$this->dbh = @mysql_connect($dbhost,$dbuser,$dbpassword);
//加上下面這行
$this->query(”SET NAMES ‘utf8“y?;?BR>q样子终于能正常昄中文的WordPress了。虽然后来还是没用,但是觉得q个l验会对别h有用。记得有人用email和我讨论q这样子的中文显C问题,但是我那时哪里知道问题出在MySQL 4.1x上?BR>q有Q?.1x的数据库不向下兼容,所以升U的时候要三思啊?


kelven 2006-01-01 08:02 发表评论
]]>
Resin2.1.12的数据库q接池配|?http://m.tkk7.com/zhangrenquan/archive/2005/12/16/24185.htmlkelvenkelvenFri, 16 Dec 2005 04:58:00 GMThttp://m.tkk7.com/zhangrenquan/archive/2005/12/16/24185.htmlhttp://m.tkk7.com/zhangrenquan/comments/24185.htmlhttp://m.tkk7.com/zhangrenquan/archive/2005/12/16/24185.html#Feedback0http://m.tkk7.com/zhangrenquan/comments/commentRss/24185.htmlhttp://m.tkk7.com/zhangrenquan/services/trackbacks/24185.htmlResin的确是比较狠的应用服务器Q运行速度快,配置又简单!q里介绍一下Resin2.1.12的数据库q接池配|方法?

?ResinHome%/conf/resin.conf中找?
<!--
- Sample database pool configuration
- The JDBC name is java:comp/env/jdbc/test
-->
在其下加入相应的信息可以q接C同的数据库?

MysqlQ?
<resource-ref>
<res-ref-name>jdbc/blog</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<init-param driver-name="com.caucho.jdbc.mysql.Driver"/>
<init-param url="jdbc:mysql_caucho://localhost:3306/blog"/>
<init-param user="root"/>
<init-param password="****"/>
<init-param max-connections="20"/>
<init-param max-idle-time="30"/>
</resource-ref>

相应的驱动攑ֈ%Resin/lib/%下?

MS-SqlQ?
<resource-ref>
<res-ref-name>jdbc/blog</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<init-param driver-name="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
<init-param url="jdbc:microsoft:sqlserver://localhost:1433;databaseName=blog"/>
<init-param user="sa"/>
<init-param password="****"/>
<init-param max-connections="20"/>
<init-param max-idle-time="30"/>
</resource-ref>
首先要下载安装sqlserver-jdbc-驱动Q然后将其lib下的三个jar文g攑ֈ%Resin/lib/%下?

kelven 2005-12-16 12:58 发表评论
]]>
Resin使用http://m.tkk7.com/zhangrenquan/archive/2005/12/15/24016.htmlkelvenkelvenThu, 15 Dec 2005 05:22:00 GMThttp://m.tkk7.com/zhangrenquan/archive/2005/12/15/24016.htmlhttp://m.tkk7.com/zhangrenquan/comments/24016.htmlhttp://m.tkk7.com/zhangrenquan/archive/2005/12/15/24016.html#Feedback0http://m.tkk7.com/zhangrenquan/comments/commentRss/24016.htmlhttp://m.tkk7.com/zhangrenquan/services/trackbacks/24016.htmlResin使用?/STRONG>

使用Resin开发Java Web目Ӟ需要徏立自qWebApp。这里不介绍Resin Cmp/Ejb的开发和使用Q只介绍用Resin开发普通的jsp\java servlet目。在q里q要谈到resin.conf的配|。Resin中的应用可以?U方式发布:一是在Resin的目录下发布Q二是打包成War发布?/P>

1、在Resin的目录下发布

在resin.conf中查?lt;web-app>标签Q该标签表示一个web应用?/P>

标签中,id属性表C应用的Web路径。如<web-app id=?test?gt;Q表C应用在Web上访问的时候应该用http://hostname/test/来访问。app-dir属性表C应用的实际\径。如<app-dir>d:\resin\doc\test</app-dir>表示该应用在d:\resin\doc\test目录下面。默认gؓ根下面的和id同名的目录。Resin可以配置3Uerror-pageQ?04错误也就是文件找不到错误;Exceptionq例;不能q接java引擎c他们分别可以这样子讄?/P>

404文g找不到页

<web-app id='/app1'>

<error-page error-code='404' location='/file_not_found.jsp'/>

</web-app>

Exception q例?/I>

<web-app id='/foo'>

<error-page exception-type='java.lang.NullPointerException'

location='/nullpointer.jsp'/>

</web-app>

不能q接到srun Servlet引擎错误?/I>

该页讄和应用无养I属于服务器的讄?/P>

<http-server>

<error-page exception-type='connection'

location='/missing_file.html'/>

</http-server>

classpath的设|?/I>

参见下面的语句:

<classpath id='WEB-INF/classes' source='WEB-INF/src' compile='true'/>

id参数的DCclasspath中编译后的classpath的存放\径;source参数的DCclasspath中java源代码的存放路径Qcompile中的值可能是true或者falseQ表C是否由Resin的srun自动~译java源代码。Classpath的设|一般和javaBean或者Servlet的用有兟뀂id的DCjavaBean的编译好的包存放的根Qsource的DCjavaBean的java源代码存攄栏VServlet相同?/P>

Servlet的设|?/I>

参见下面的语句:

<servlet-mapping url-pattern='*.xtp' servlet-name='xtp'/>

<servlet-mapping url-pattern='*.jsp' servlet-name='jsp'/>

<servlet-mapping url-pattern='/servlet/*' servlet-name='invoker'/>

一般就是指定那些需要通过srun的解析。比如在q里Q把*.jspҎ(gu)*.jssQ其他不变,那么只要在访问时遇到*.jss的文件就和原来遇?.jsp一样处理。通过q个可以指定解析的引擎,如以下的配置Q?/P>

<servlet-mapping url-pattern='*.xtp' servlet-name='com.caucho.jsp.XtpServlet'/>

在Servlet中,也可以指定servlet。如

<servlet servlet-name='hello' servlet-class='test.HelloWorld'/>

<servlet-mapping url-pattern='/hello.html' servlet-name='hello'/>

在servlet-mapping中有个重要的参数case-sensitive 如果在windows上,最好配|成falseQ忽略大写Q从而和windows的约定一致?/P>

Session的配|?/I>

参见如下的配|语句:

<session-config>

<session-max>4096</session-max>

<session-timeout>30</session-timeout>

<enable-cookies>true</enable-cookies>

<enable-url-rewriting>true</enable-url-rewriting>

<file-store>WEB-INF/sessions</file-store>

</session-config>

session-max Q最?session数量

session-timeout Qsessionq期旉Q以分钟为单位?/P>

是否允许cookie Q指session是否采用cookies。如果采用cookiesQ浏览器必须支持session才能使用Q发布时Ҏ(gu)false。enable-url-rewriting和enable-cookies一般配合用。如果enable-cookies是falseQenable-url-rewriting应该设成true比较合适?/P>

file-store Q该配置指示服务器是否把session作ؓ文g存放在服务器上。如果把该项注释掉,则在你的web-app目录下的WEB-Inf/sessions目录不保存序列化后的session对象。Sessionq有jdbc-store配置Q对应着把session通过jdbc怹保存在数据库中。其实也是会话变量的序列化后的保存和重新蝲入的物理实现。在q里sessionq支持了多服务器的设|问题,

通过tcp-store参数讄。由于涉及到负蝲q的问题,在这里不详细叙述Q只单写一个例子:

<http-server>

<http id='a' port='80'/>

<srun id='a' host='host-a' port='6802'/>

<http id='b' port='80'/>

<srun id='b' host='host-b' port='6802'/>

<host id=''>

<web-app id=''>

<session-config>

<tcp-store/>

<always-load-session/>

</session-config>

</web-app>

</host>

</http-server>

q个例子表示session是按照tcp ring的方式传递?/P>

temp-dir 的设|?/I>

temp-dir指的是应用的临时目录。也是在javax.servlet.context.tempdir中用到的目录。模认是应用目录下的WEB-INF\tmp目录?/P>

以上的设|都可以?lt;web-app>标签对中讄Q控制某个web应用的设|?/P>

2、打包成War发布

以下是介l对如何在resin下用已l打包成War的java Web应用q行发布?/P>

其实q个是最单也是最清晰的良好方法。在j2ee中,所有的目都打包成ear发布。其中,Web应用打包成warQejb应用打包成jar。在resin中,q些都可以直接部|Ӏ这里我只对打包成war的Web应用的部|做介绍?/P>

在resin.conf中,查找q个Q?lt;war-dir id='webapps'/>。他表示war文g应该被拷贝的路径。这里指的是相对于resin的安装\径,如以上的讄表示d:\resin\webapps。只要重新启动Resin可以了。Resin会把该war自动解包到webapps目录下。你可以在command控制台或者stdout.log中看到类g

[2002-04-27 09:56:21.680] initializing application http://haitaiserver:8080/rwtest 的语句。这个表CWeb应用是自动安装的。只要这个应用是W合j2ee标准的Web应用Q应该不会有问题。通过如上昄的\径就可以讉K到这个应用。如果你到d:\resin\webapps\rwtest中浏览,你会看到Resin已经Z生成了rwtest目录Q下面是META-INF和WEB-INFq有你自qJSP\servlet 文g和目录。是完全W合j2ee的结构的。你可以在rwtest目录下徏立新的jsp\servletQ一样可以被~译和解析ƈq行的。在实际操作中,可以使用Jbuilder 或?WebSphere{Ide工具q行集成调试和打包,非常的方ѝ?/P>

使用Resinq行java Web目的开发和调试

q里幅有限Q不可能讲太多,我只对实际中最有用的部分做介绍?/P>

Resin中如果定义了错误,则出错后最常见的一大串Exception不会被看刎ͼ直接跌{到错误页。所以徏议开发中先不讄错误cjsp错误中最常见的就是Nullpoint ExceptionQ其ơ是名称的拼写错误。错误也可以在Resin安装目录下的log目录下的stderr.log中找到。通过对该log文g的分析可以看到很多有用的错误信息?/P>

在调试jsp的时候,如果定义了compile为trueQjsp先被译成Servlet的java文gQ再被编译成class文g。可以在你自qwork目录中找到该文g。java的名U在Resin中是q样子定义的Q原先的jsp文g名前加下划线Q再加上_jspq个字样。所以在java 应用中的命名不要以_jspl尾Q也不要出现中文名称{字W;其实名称以_jsp为开头也是不合法的?/P>

关于java对多国语a的支持问题,在Resin中得C很好的解冟뀂以jspZQ参考Resin自动生成的java Servlet文g。只要在M的jsp文g的最开始处增加Q?/P>

<%@page contentType="text/html;charset=gb2312" %>

中文问题p决了。察看生成的Servlet源文件片断:

response.setContentType("text/html;charset=gb2312");

request.setCharacterEncoding("GB2312");

以上|字W集

private static byte []_jsp_string26;

private static byte []_jsp_string27;

_jsp_string26 = "\r\n</table>\r\n<table class=\"type\">\r\n<tr>\r\n <td>".getBytes("GB2312");

_jsp_string27 = "\r\n</td><td>\r\n</tr>\r\n<!--\r\n<tr>\r\n<td>\r\".getBytes("GB2312");

以上是对面的显C的~码。其中,getBytes(“gb2312?是静态编码,q是ResinZ解决某些环境下还是不能正常显C设|的。在Resin的配|文?/conf/resin.conf)中,可以通过讄<jsp precompile='true' static-encoding='false' recompile-on-error='true'/>中的static-encoding属性ؓtrue或者falseQ来控制是否静态编码。其实在Resin容器的内部,所有的字符都是按照iso-8859-1来处理的。iso-8859-1是一个大字符集,虽然中文的gb2312?859在字的定义上有不同,但是~码是包容了gb2312的。按照解军_国语a的方法,在纯英文q_上用iso-8859-1处理内部~码Q而把字符的显C推向客L的机器。所以这样只要编码是正确的,

在页面上昄中文׃存在问题。Tomcat3.2不方便的地方是TomcatҎ(gu)据库的操作中文支持不好,需要手动在java Bean或者Servlet中硬~码。通过试Q在Resin中完全没有这个问题。Tomcat4.0解决了这个问题。不q个Z惯来讲还是觉得resin在配|方面方便一些?/P>

在Resin中可以自动解军_入的jar。这个在使用Ҏ(gu)的类或者第三方提供的开发包非常有用。方法非常简单:只要把该jar或者是zip拯到Resin安装目录下的lib目录下面Q重新启动ResinQ就可以了。如db2用到的db2java.zip文gQ只要轻松拷贝到d:\resin\lib中就可以了?/P>

Resin提供了对Jbuilder的集成调试。可以到Q?/P>

http://www.caucho.com/projects/jbuilder/resin-jbuilder.jar免费下蝲到resin的jbuilder的ide扩展包。然后,把该包该名成Qresin-jbuilder.jarQ拷贝到jbuilder6\lib\ext目录下。然后,把Resin2.1解包安装在jbuilder6\resin-2.1目录下,可以了。打开M的War目Q在project上点右键Q选择propertiesQ选择Servers标签。在原来的选择框上Q就可以看到多了一Resin2.1。这样子可以象原来用tomcat一栯试jsp\servlet了,而且比Tomcat更方ѝ见?Q?/P>

?

调试Ҏ(gu)和用Tomcat调试一栗?/P>

其他问题

使用Resin可以和apachel合使用。也是利用apache做http服务器,而Resin做srun服务器。可以参考resin\conf\samples目录下的apache.conf。主要就是把 app-dir 设成 /usr/local/apache/htdocsQ也是apache的rootQ。同时在apache 中的http.conf也做了相应的讄。Resinq提供了对该q程的自动安装程式,q行resin\bin\setupQ你可以在弹处的对话框中选择apacheQ这样子可以了。只要你曄安装qapacheQresin可以自己扑ֈhttpd.conf文g所在的路径?/P>

使用命o行方式启动ResinQ如果改动了Resin.confQResin会自己重新启动适应新的配置。这个很适合初期安装时用?/P>

ResinҎ(gu)据库~冲池的支持很好。在q里Q它提供了DBPool对缓冲池做了装。实际用时Q只要在resin.confq样配置Q?/P>

<dbpool.sql>

<id>ORCL</id>

<driver>oracle.jdbc.driver.OracleDriver</driver>

<url>jdbc:oracle:thin:@localhost:1521:SMTH</url>

<!-- <url>jdbc:oracle:oci8:@SMTH</url> -->

<user>scott</user>

<password>tiger</password>

<max-connections>5</max-connections>

</dbpool.sql>

然后Q在你的jsp或者servlet中就可以q样子用了Q?/P>

先导?com.caucho.sql.*包,然后如下直接得到q接Q?/P>

Connection conn = DBPool.getPool("ORCL").getConnection();

个h不要如上使用q接池,q是按照ejb的方法用从Context中直接找到的DataSource对象中得到连接通用性比较好。代码也很简单:

Context ctx = new InitialContext();

DataSource ds = (DataSource)ctx.lookup(“jdbc/EmployeeDB?;

Connection conn = ds.getConnection();

在Resin中如下配|jdbc可以了Q?/P>

<resource-ref>

<res-ref-name> jdbc/EmployeeDB</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<init-param driver-name="com.caucho.jdbc.mysql.Driver"/>

<init-param url="jdbc:mysql_caucho://localhost:3306/test"/>

<init-param user="name"/>

<init-param password="password"/>

<init-param max-connections="20"/>

<init-param max-idle-time="30"/>

</resource-ref>

用Resin Web Server开发还是比较愉快的。只是没有像Weblogic 或者WebSphere那样子提供现成的理控制台而已。但是从E_性和方便性来ԌResin个h认ؓ比Tomcat要好很多。况且Resinq有提供了resin-cmp ?resin-ejbQ功能更强大?/P>

kelven 2005-12-15 13:22 发表评论
]]>
正则表达式学?/title><link>http://m.tkk7.com/zhangrenquan/archive/2005/12/12/23458.html</link><dc:creator>kelven</dc:creator><author>kelven</author><pubDate>Mon, 12 Dec 2005 05:38:00 GMT</pubDate><guid>http://m.tkk7.com/zhangrenquan/archive/2005/12/12/23458.html</guid><wfw:comment>http://m.tkk7.com/zhangrenquan/comments/23458.html</wfw:comment><comments>http://m.tkk7.com/zhangrenquan/archive/2005/12/12/23458.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/zhangrenquan/comments/commentRss/23458.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/zhangrenquan/services/trackbacks/23458.html</trackback:ping><description><![CDATA[<H3>目录</H3>正则表达式介l?A href="/zhangrenquan/archive/2005/12/12/23458.html#man_match_mode"><BR>匚w模式</A><BR><A href="/zhangrenquan/archive/2005/12/12/23458.html#man_char_class">字符子集</A><BR><A href="/zhangrenquan/archive/2005/12/12/23458.html#man_line_terminator">行结束符</A><BR><A href="/zhangrenquan/archive/2005/12/12/23458.html#man_group">分组和引?/A><BR><A href="/zhangrenquan/archive/2005/12/12/23458.html#man_unicode">Unicode支持</A><BR><BR><BR><A href="/zhangrenquan/archive/2005/12/12/23458.html#reference">正则表达式语法参?/A><BR> <OL> <LI><A HREF="/zhangrenquan/archive/2005/12/12/23458.html#ref_chars">字符</A> <LI><A HREF="/zhangrenquan/archive/2005/12/12/23458.html#ref_logicopr">逻辑操作W?/A> <LI><A HREF="/zhangrenquan/archive/2005/12/12/23458.html#ref_backref">向后引用</A> <LI><A HREF="/zhangrenquan/archive/2005/12/12/23458.html#ref_boundmeta">边界元字W?/A> <LI><A HREF="/zhangrenquan/archive/2005/12/12/23458.html#ref_repeatindicator">重复指示W?/A> <LI><A HREF="/zhangrenquan/archive/2005/12/12/23458.html#ref_char_class">字符子集</A> <LI><A HREF="/zhangrenquan/archive/2005/12/12/23458.html#ref_predef_meta">预定义子集(元字W)</A> <LI>扩展子集Q元字符Q? <LI><A HREF="/zhangrenquan/archive/2005/12/12/23458.html#ref_chinese_meta">扩展中文子集Q元字符Q?/A> <LI><A HREF="/zhangrenquan/archive/2005/12/12/23458.html#ref_posix_subset">POSIX字符子集Q只适用于ASCIIQ?/A> <LI><A HREF="/zhangrenquan/archive/2005/12/12/23458.html#ref_unicode_category">Unicode块和分类</A><BR></LI></OL><BR>替换表达?BR><A HREF="/zhangrenquan/archive/2005/12/12/23458.html#man_subexp">替换表达?BR></A> <OL> <LI><A HREF="/zhangrenquan/archive/2005/12/12/23458.html#subexp_chars">Ҏ(gu)字符</A> <LI><A HREF="/zhangrenquan/archive/2005/12/12/23458.html#subexp_custtbl">自定义替换表</A><BR></LI></OL> <HR width="100%" SIZE=2> <H3><A name=man_match_mode></A>匚w模式</H3>匚w模式指得是正则表辑ּ引擎以何种模式匚w字符丌Ӏ?BR> <TABLE cellSpacing=2 cellPadding=2 width="100%" border=1> <TBODY> <TR> <TD vAlign=top>模式名称<BR></TD> <TD vAlign=top>启用Q禁?BR></TD> <TD vAlign=top>~省启用<BR></TD> <TD vAlign=top>说明<BR></TD></TR> <TR> <TD vAlign=top>UNIX_LINES<BR></TD> <TD vAlign=top>(?d)启用Q??-d)用<BR></TD> <TD vAlign=top>?BR></TD> <TD vAlign=top>启用Unix行模式?BR>在此模式下,只有 <TT>'\n'</TT>被认为是行结束符。它会媄?TT>.</TT>, <TT>^</TT>, ?<TT>$</TT> 的行为?BR><BR></TD></TR> <TR> <TD vAlign=top>CASE_INSENSITIVE<BR></TD> <TD vAlign=top>(?i)启用Q??-i)用<BR></TD> <TD vAlign=top>?BR></TD> <TD vAlign=top>启用忽略大小写模式?BR>~省Ӟ忽略大小写模式只会媄?ASCII字符的匹配?而Unicode范围的忽略大写匚w需要通过 UNICODE_CASE 标志与本标志联合使用?BR>启用此模式会影响匚w性能?BR><BR></TD></TR> <TR> <TD vAlign=top>COMMENTS<BR></TD> <TD vAlign=top>(?x)启用Q??-x)用<BR></TD> <TD vAlign=top>?BR></TD> <TD vAlign=top>允许I格和注释出现在正则表达式中?BR>在此模式下,I格被忽略,?开始的单行注释被忽略?<BR></TD></TR> <TR> <TD vAlign=top>MULTILINE<BR></TD> <TD vAlign=top>(?m)启用Q??-m)用<BR></TD> <TD vAlign=top>?BR></TD> <TD vAlign=top>启用多行模式?BR>In multiline mode the expressions <TT>^</TT> and <TT>$</TT> match just after or just before, respectively, a line terminator or the end of the input sequence. By default these expressions only match at the beginning and the end of the entire input sequence. <BR><BR></TD></TR> <TR> <TD vAlign=top>DOTALL<BR></TD> <TD vAlign=top>(?s)启用Q??-s)用<BR></TD> <TD vAlign=top>?BR></TD> <TD vAlign=top>?可以匚w行结束符?BR>在此模式下,元字W?TT>.</TT>可以匚w行结束符。缺省不允许如此匚w?BR><BR><BR></TD></TR> <TR> <TD vAlign=top>UNICODE_CASE<BR></TD> <TD vAlign=top>(?u)启用Q??-u)用<BR></TD> <TD vAlign=top>?BR></TD> <TD vAlign=top>Enables Unicode-aware case folding.<BR>When this flag is specified then case-insensitive matching, when enabled by the <CODE>CASE_INSENSITIVE</CODE> flag, is done in a manner consistent with the Unicode Standard. By default, case-insensitive matching assumes that only characters in the US-ASCII charset are being matched. 启用此模式会影响性能?BR><BR></TD></TR> <TR> <TD vAlign=top>CANON_EQ<BR></TD> <TD vAlign=top>(?c)启用Q??-c)用<BR></TD> <TD vAlign=top>?BR></TD> <TD vAlign=top>Enables canonical equivalence.<BR>When this flag is specified then two characters will be considered to match if, and only if, their full canonical decompositions match. The expression <TT>"a\u030A"</TT>, for example, will match the string <TT>"?"</TT> when this flag is specified. By default, matching does not take canonical equivalence into account. <BR>启用此模式会影响性能?BR><BR></TD></TR></TBODY></TABLE><BR><BR> <H3><A name=man_char_class></A>字符子集</H3>字符子集可以含有别的字符子集Qƈ且可以通过联合操作W(~省Q和交集操作W(&&Q实现组合。联合操作符表示某个子集匚w它的子子集所匚w的Q意字W。交集操作符表明某个字符子集只匹配它的子子集都匹配的字符?BR>字符子集所能够有的操作W的优先U如下,从高CQ?BR> <OL> <LI>转义W\x <LI>成组W?[...] <LI>区间W?a-z <LI>联合W?[a-e][i-u] <LI>交集W?[a-z&&[aeiou]]</LI></OL>注意Q在字符子集[]内部的语法根本不同于正则表达式其它部分中的语法。例如,在字W子集内部,正则表达?. 失去了它原有的含义,而是成了一个匹?的元字符?<BR><BR> <H3><A name=man_line_terminator></A>行结束符</H3>行结束符是一个或两个字符序列Q用以表明输入字W序列中一行的l束。下面的字符被认为是行结束符Q?BR> <UL> <LI>一个换行符('\n')? <LI>一个回车符加上一个换行符("\r\n")? <LI>一个单独的回RW?'\r')? <LI>代表下一行的字符('\u0085')? <LI>行分隔符('\u2028')QUnicode中被定义? <LI>一个分D늬('\u2029)QUnicode中被定义?/LI></UL>如果 UNIX_LINES 模式被启用,则只有换行符被认为是行结束符?BR>如果 MULTILINE 模式被启用,?BR><BR> <H3><A name=man_group></A>分组和引?/H3>字符分组以它们的左括L出现序来排序。例如在表达?(A)(B(C)))Q有四个分组Q?BR> <OL> <LI>((A)(B(C))) <LI>(A) <LI>(B(C)) <LI>(C)</LI></OL>W?l永q表C辑ּ本n?BR>分组采用q样的命名方式,是因为,在一ơ匹配过E中Q正则表辑ּ会被匚w多次。以前的匚w子序列有可能在将来被使用Q或者在匚wl束ӞE序有可能需要重新获得所有匹配的子字W序列?BR>对于正则表达式中的某个分l而言Q永q只保留最后匹配的字符序列。如果对某个分组匚w试p|Q则会保留上ơ匹配成功的字符序列。例如,对于正则表达?a(b)?)+而言Q字W序?aba"Q将会让分组2匚w的字W序列ؓ"b"?BR>??开始的分组Q将不会计入分组数目Q也不会被后l匹配所引用?BR><BR> <H3><A name=man_unicode></A>Unicode支持</H3>本正则表辑ּ匚w引擎的实现遵循了?A >Unicode技术报告:Unicode正则表达式指?/A>》,实现了该指南的第二层所需的功能,但是在细微处有一些简单语法修攏V?BR>Unicode?Block)和分c?Category)通过\p和\P通配苻表C。\p{<B><I>prop</I></B>}匚w含有<B><I>prop</I></B>的输入序列,而\P{<B><I>prop</I></B>}匚w不含?B><I>prop</I></B>的输入序列。Unicode块通过前缀<TT>In</TT>表示Q如\p{InMongolian}。Unicode分类通过可选的前缀Is表示Q因此\p{L}和\p{IsL}都代表Unicode分类 letters。Unicode块和分类都可以在正则表达式子集外部和内部使用?BR>目前支持的Unicode块和分类是?A >Unicode标准Q第三版</A>》中所指定的块和分cR?Unicode块名U在?A >Unicode 字符数据?/A>》的W?4章被定义Q文件名U叫<A >Blocks-3.txt</A>Q但是名UC的空DL了。例?Basic Latin"成了"BasicLatin"。无论是标准化的q是非标准化的分c,都在该标准的W?8늚W?-5表中被全部定义?BR><BR> <H3><A name=man_compare_perl5></A>与Perl 5正则表达式语法对?</H3>[TBD]<BR><BR> <HR width="100%" SIZE=2> <H2><A name=reference></A>正则表达式参?/H2><BR> <HR width="100%" SIZE=2> <H3><A name=ref_chars></A>字符</H3> <TABLE cellSpacing=2 cellPadding=2 width="100%" border=1> <TBODY> <TR> <TD vAlign=top width="30%">正则表达式字W串<BR></TD> <TD vAlign=top>匚w的字W串<BR></TD></TR> <TR> <TD vAlign=top width="30%">X<BR></TD> <TD vAlign=top>字符XQ包?CJK ExtB 区汉?BR></TD></TR> <TR> <TD vAlign=top width="30%">\\<BR></TD> <TD vAlign=top>反斜杠\<BR></TD></TR> <TR> <TD vAlign=top width="30%">\0<B><I>n</I></B> </TD> <TD vAlign=top>八进?<B><I>n</I></B>代表的字W?0<=n<=7)<BR></TD></TR> <TR> <TD vAlign=top width="30%">\0<B><I>nn</I></B><BR></TD> <TD vAlign=top>八进?<B><I>nn</I></B>代表的字W?0<=n<=7)<BR></TD></TR> <TR> <TD vAlign=top width="30%">\0<B><I>mnn</I></B><BR></TD> <TD vAlign=top>八进?<B><I>mnn</I></B>代表的字W?0<=m<=3,0<=n<=7)<BR></TD></TR> <TR> <TD vAlign=top width="30%">\x<B><I>hh</I></B><BR></TD> <TD vAlign=top>十六q制 0x<B><I>hh</I></B>所代表的字W?BR></TD></TR> <TR> <TD vAlign=top width="30%">\u<B><I>hhhh</I></B><BR></TD> <TD vAlign=top>十六q制 0x<B><I>hhhh</I></B>所代表的字W?FONT color=#ff0000>注意</FONT>Q目前尚不支持CJK ExtB区汉字?BR></TD></TR> <TR> <TD vAlign=top width="30%">\t<BR></TD> <TD vAlign=top>制表W?'\u0009')<BR></TD></TR> <TR> <TD vAlign=top>\n<BR></TD> <TD vAlign=top>换行('\u000A')<BR></TD></TR> <TR> <TD vAlign=top>\r<BR></TD> <TD vAlign=top>回R('\u000D')<BR></TD></TR> <TR> <TD vAlign=top>\a<BR></TD> <TD vAlign=top>响铃W?'\u0007')<BR></TD></TR> <TR> <TD vAlign=top>\e<BR></TD> <TD vAlign=top>取消WEscape('\001B')<BR></TD></TR> <TR> <TD vAlign=top>\c<I><B>x</B></I><BR></TD> <TD vAlign=top><I><B>x</B></I>所代表的控制字W?BR></TD></TR></TBODY></TABLE><BR> <H3><A name=ref_logicopr></A>逻辑操作W?/H3> <TABLE cellSpacing=2 cellPadding=2 width="100%" border=1> <TBODY> <TR> <TD vAlign=top width="30%">正则表达式字W串<BR></TD> <TD vAlign=top>匚w的字W串<BR></TD></TR> <TR> <TD vAlign=top width="30%"><I>XY</I><BR></TD> <TD vAlign=top><I>X</I>后面跟随<I>Y</I><BR></TD></TR> <TR> <TD vAlign=top width="30%"><I>X</I>|<I>Y</I><BR></TD> <TD vAlign=top><I>X</I>或?I>Y</I><BR></TD></TR> <TR> <TD vAlign=top width="30%">(<I>X</I>)<BR></TD> <TD vAlign=top><I>X</I>作ؓ分组表达?BR></TD></TR></TBODY></TABLE><BR> <H3><A name=ref_backref></A>向后引用</H3> <TABLE cellSpacing=2 cellPadding=2 width="100%" border=1> <TBODY> <TR> <TD vAlign=top width="30%">正则表达式字W串<BR></TD> <TD vAlign=top>匚w的字W串<BR></TD></TR> <TR> <TD vAlign=top width="30%">\<B>n</B><BR></TD> <TD vAlign=top>W?B>n</B>个匹配的分组<BR></TD></TR></TBODY></TABLE><BR> <H3><A name=ref_boundmeta></A>边界元字W?/H3> <TABLE cellSpacing=2 cellPadding=2 width="100%" border=1> <TBODY> <TR> <TD vAlign=top width="30%">边界字符<BR></TD> <TD vAlign=top>匚w的字W串<BR></TD></TR> <TR> <TD vAlign=top width="30%">^<BR></TD> <TD vAlign=top>行首<BR></TD></TR> <TR> <TD vAlign=top width="30%">$<BR></TD> <TD vAlign=top>行末<BR></TD></TR> <TR> <TD vAlign=top width="30%">\b </TD> <TD vAlign=top>字符边界<BR></TD></TR> <TR> <TD vAlign=top width="30%">\B<BR></TD> <TD vAlign=top>非字W边?BR></TD></TR> <TR> <TD vAlign=top width="30%">\A<BR></TD> <TD vAlign=top>输入的开?BR></TD></TR> <TR> <TD vAlign=top width="30%">\G<BR></TD> <TD vAlign=top>上次匚w的结束处<BR></TD></TR> <TR> <TD vAlign=top width="30%">\Z<BR></TD> <TD vAlign=top>输入的l束Q或者是最后一个行l束W,参见<A href="file:///D:/source/jtextpro/src/dist/jtextpro/docs/regexp.html#man_line_terminator">行结束符</A>?BR></TD></TR> <TR> <TD vAlign=top width="30%">\z<BR></TD> <TD vAlign=top>输入的l束<BR></TD></TR></TBODY></TABLE><BR> <H3><A name=ref_repeatindicator></A>重复指示W?/H3> <TABLE cellSpacing=2 cellPadding=2 width="100%" border=1> <TBODY> <TR> <TD vAlign=top width="30%">正则表达式字W串<BR></TD> <TD vAlign=top>匚w的字W串<BR></TD></TR> <TR> <TD vAlign=top width="30%"><B>X</B>?<BR></TD> <TD vAlign=top><B>X</B>重复一ơ,或者不重复<BR></TD></TR> <TR> <TD vAlign=top width="30%"><B>X</B>*<BR></TD> <TD vAlign=top><B>X</B>重复0ơ或多次<BR></TD></TR> <TR> <TD vAlign=top width="30%"><B>X</B>+ <BR></TD> <TD vAlign=top><B>X</B>重复1ơ或多次<BR></TD></TR> <TR> <TD vAlign=top width="30%"><B>X</B>{n}<BR></TD> <TD vAlign=top><B>X</B>重复nơ,不多也不?BR></TD></TR> <TR> <TD vAlign=top width="30%"><B>X</B>{n,}<BR></TD> <TD vAlign=top><B>X</B>臛_重复n?BR></TD></TR> <TR> <TD vAlign=top width="30%"><B>X</B>{n,m}<BR></TD> <TD vAlign=top><B>X</B>臛_重复nơ,臛_重复mơ?BR></TD></TR></TBODY></TABLE>注:<B>X</B>{n,m}???方式可以联合使用?BR><BR> <H3><A name=ref_char_class></A>字符子集</H3> <TABLE cellSpacing=2 cellPadding=2 width="100%" border=1> <TBODY> <TR> <TD vAlign=top width="30%">正则表达式字W串子集<BR></TD> <TD vAlign=top width="50%">匚w的字W串<BR></TD> <TD vAlign=top align=left width="20%">l合方式<BR></TD></TR> <TR> <TD vAlign=top width="30%">[abc]<BR></TD> <TD vAlign=top width="60%">字符a,b或cQ包?CJK ExtB 区汉?BR></TD> <TD vAlign=top align=left width="20%">单子?BR></TD></TR> <TR> <TD vAlign=top width="30%">[^abc]<BR></TD> <TD vAlign=top width="60%">L非a,b或c的字W?BR></TD> <TD vAlign=top align=left width="20%">排除<BR></TD></TR> <TR> <TD vAlign=top width="30%">[a-zA-Z] </TD> <TD vAlign=top width="60%">从a到zQ或者A到ZQ包含a,z,A,Z?BR></TD> <TD vAlign=top align=left width="20%">区间<BR></TD></TR> <TR> <TD vAlign=top width="30%">[a-d[m-p]]<BR></TD> <TD vAlign=top width="60%">从a到dQ或者m到pQ等于[a-dm-p]?BR></TD> <TD vAlign=top align=left width="20%">联合<BR></TD></TR> <TR> <TD vAlign=top width="30%">[a-z&&[def]]<BR></TD> <TD vAlign=top width="60%">d,e或者f?BR></TD> <TD vAlign=top align=left width="20%">交集<BR></TD></TR> <TR> <TD vAlign=top>[a-z&&[^bc]]<BR></TD> <TD vAlign=top width="60%">从a到zQ除了b和cQ等于[ad-z]<BR></TD> <TD vAlign=top align=left width="20%">扣除<BR></TD></TR> <TR> <TD vAlign=top>[a-z&&[^m-p]]<BR></TD> <TD vAlign=top>从a到zQƈ且不包括从m到pQ等于[a-lq-z]<BR></TD> <TD vAlign=top>扣除<BR></TD></TR></TBODY></TABLE><BR> <H3><A name=ref_predef_meta></A>预定义子集(元字W)</H3> <TABLE cellSpacing=2 cellPadding=2 width="100%" border=1> <TBODY> <TR> <TD vAlign=top width="30%">边界字符<BR></TD> <TD vAlign=top>匚w的字W串<BR></TD></TR> <TR> <TD vAlign=top width="30%">.<BR></TD> <TD vAlign=top>L字符Q可能匹配行l束W?BR></TD></TR> <TR> <TD vAlign=top width="30%">\d<BR></TD> <TD vAlign=top>数字[0-9]<BR></TD></TR> <TR> <TD vAlign=top width="30%">\D </TD> <TD vAlign=top>非数字[^0-9]<BR></TD></TR> <TR> <TD vAlign=top width="30%">\s<BR></TD> <TD vAlign=top>I白W[ \t\n\x0B\f\r]<BR></TD></TR> <TR> <TD vAlign=top width="30%">\S<BR></TD> <TD vAlign=top>非空白符[^\s]<BR></TD></TR> <TR> <TD vAlign=top width="30%">\w<BR></TD> <TD vAlign=top>单词W,包含有字母和数字[a-zA-Z_0-9]<BR></TD></TR> <TR> <TD vAlign=top width="30%">\W<BR></TD> <TD vAlign=top>非单词符Q不包含有字母和数字?BR></TD></TR></TBODY></TABLE><BR> <H3>扩展子集Q元字符Q?/H3> <TABLE cellSpacing=2 cellPadding=2 width="100%" border=1> <TBODY> <TR> <TD vAlign=top width="30%">正则表达式字W串<BR></TD> <TD vAlign=top>匚w的字W串<BR></TD></TR> <TR> <TD vAlign=top width="30%"><BR></TD> <TD vAlign=top><BR></TD></TR></TBODY></TABLE><BR><BR> <H3><A name=ref_chinese_meta></A>扩展中文子集Q元字符Q?/H3> <TABLE cellSpacing=2 cellPadding=2 width="100%" border=1> <TBODY> <TR> <TD vAlign=top>名称<BR></TD> <TD vAlign=top>块名Uͼ\p{InXXX}Q?BR></TD> <TD vAlign=top>化通配W?BR></TD> <TD vAlign=top>标准Unicode块,或者汉字列?BR></TD></TR> <TR> <TD vAlign=top>L双字节字W(汉字或全角符P<BR></TD> <TD vAlign=top>\p{InQuqnJiao}<BR></TD> <TD vAlign=top>\E<BR></TD> <TD vAlign=top>L由GBK表示的汉字,不包括GB18030扩展部分Q?BR>以及CJK ExtB区的汉字?BR></TD></TR> <TR> <TD vAlign=top>L单字节字W?BR></TD> <TD vAlign=top>\p{InFQuanJiao}<BR></TD> <TD vAlign=top>\~E<BR></TD> <TD vAlign=top>L单字节字W?BR></TD></TR> <TR> <TD vAlign=top>L全角ASCII字符<BR></TD> <TD vAlign=top>\p{InQJAscii}<BR></TD> <TD vAlign=top>\H<BR></TD> <TD vAlign=top>标准HalfwidthandFullwidthForms?BR></TD></TR> <TR> <TD vAlign=top>L收录在BIG5码集中的双字节字W?BR></TD> <TD vAlign=top>\p{InBig5}<BR></TD> <TD vAlign=top>\I<BR></TD> <TD vAlign=top>Big5可编码双字节字符<BR></TD></TR> <TR> <TD vAlign=top>匚w未收录在BIG5码集中的双字节字W?/TD> <TD vAlign=top>\p{InFBig5}<BR></TD> <TD vAlign=top>\~I<BR></TD> <TD vAlign=top>非Big5可编码双字节字符<BR></TD></TR> <TR> <TD vAlign=top>匚wL汉字(不包括符?<BR></TD> <TD vAlign=top>\p{InHanziOrCJKExtB}<BR></TD> <TD vAlign=top>\X<BR></TD> <TD vAlign=top>L汉字Q包括GB18030扩展部分?BR></TD></TR> <TR> <TD vAlign=top>匚wL汉字(不包括符?<BR></TD> <TD vAlign=top>\p{InHanzi}<BR></TD> <TD vAlign=top>\M<BR></TD> <TD vAlign=top>L汉字Q不包括GB18030扩展部分?BR></TD></TR> <TR> <TD vAlign=top>匚w非汉字的双字节字W?BR></TD> <TD vAlign=top>\p{InFHanzi}<BR></TD> <TD vAlign=top>\~M<BR></TD> <TD vAlign=top>L非汉字的双字节字W,<BR>包括GB18030扩展部分?BR></TD></TR> <TR> <TD vAlign=top>地支字符<BR></TD> <TD vAlign=top>\p{InDiZhi}<BR></TD> <TD vAlign=top>\U<BR></TD> <TD vAlign=top>子丑寅卯辰埩午未申酉戌亥<BR></TD></TR> <TR> <TD vAlign=top>匚w收录在GB码集中的双字节字W?BR></TD> <TD vAlign=top>\p{InGB}<BR></TD> <TD vAlign=top>\g<BR></TD> <TD vAlign=top>收录在GB码集中的双字节字W,<BR>不包括GB18030扩展部分?BR></TD></TR> <TR> <TD vAlign=top>匚w非收录在GB码集中的双字节字W?BR></TD> <TD vAlign=top>\p{InFGB}<BR></TD> <TD vAlign=top>\~g<BR></TD> <TD vAlign=top>未收录在GB码集中的双字节字W,<BR>不包括GB18030扩展部分?BR></TD></TR> <TR> <TD vAlign=top>匚w收录在GBK码集中的双字节字W?BR></TD> <TD vAlign=top>\p{InGBK}<BR></TD> <TD vAlign=top>\h<BR></TD> <TD vAlign=top>收录在GBK码集中的双字节字W,<BR>不包括GB18030扩展部分?BR></TD></TR> <TR> <TD vAlign=top>匚w非收录在GBK码集中的双字节字W?BR></TD> <TD vAlign=top>\p{InFGBK}<BR></TD> <TD vAlign=top>\~h<BR></TD> <TD vAlign=top>未收录在GBK码集中的双字节字W,<BR>不包括GB18030扩展部分?BR></TD></TR> <TR> <TD vAlign=top>大写希腊字母<BR></TD> <TD vAlign=top>\p{InDaXila}<BR></TD> <TD vAlign=top>\K<BR></TD> <TD vAlign=top>ΑΒΓΔΕΖΗΘΙΚΛΜΝ<BR>ΞΟΠΡΣf`ΦΨΩ<BR></TD></TR> <TR> <TD vAlign=top>日文片假?BR></TD> <TD vAlign=top>\p{InPianJia}<BR></TD> <TD vAlign=top>\j<BR></TD> <TD vAlign=top>标准Katakana?BR></TD></TR> <TR> <TD vAlign=top>日文q_?BR></TD> <TD vAlign=top>\p{InPingJia}<BR></TD> <TD vAlign=top>\J<BR></TD> <TD vAlign=top>标准Hiragana?BR></TD></TR> <TR> <TD vAlign=top>写希腊字母<BR></TD> <TD vAlign=top>\p{InXiaoXila}<BR></TD> <TD vAlign=top>\k<BR></TD> <TD vAlign=top>βδεζηθικλμ^<BR>ξοπρστυφχψω<BR></TD></TR> <TR> <TD vAlign=top>数学W号<BR></TD> <TD vAlign=top>\p{InMathe}<BR></TD> <TD vAlign=top>\m<BR></TD> <TD vAlign=top>u×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒?BR>∫∮≡≌≈∽∝≠≮≯≤≥∞∵?BR></TD></TR> <TR> <TD vAlign=top>中文数字<BR></TD> <TD vAlign=top>\p{InCnDigit}<BR></TD> <TD vAlign=top>\i<BR></TD> <TD vAlign=top>〇一二三四五六七八九(ji)十百千万亿兆吉京<BR></TD></TR> <TR> <TD vAlign=top>大写中文数字<BR></TD> <TD vAlign=top>\p{InDaCnDigit}<BR></TD> <TD vAlign=top>\N<BR></TD> <TD vAlign=top>零壹贰叁肆伍陆柒捌玖拾䘪仟萬亿兆吉京<BR></TD></TR> <TR> <TD vAlign=top>全角标点W号<BR></TD> <TD vAlign=top>\p{InQJBiaoDian}<BR></TD> <TD vAlign=top>\o<BR></TD> <TD vAlign=top>、。·ˉˇ¨〃々—~‖…‘’“”〔?BR>〈〉《》「」『』〖〗【】!Q'Q)Q?BR>Q.Q;Q=Q?Q]{|}`H﹊H﹌H﹎H﹐H﹒H﹕H﹗H﹚<BR>H﹜H﹞|︶|ؓ|﹀|DH﹂H﹄<BR>|Ӈ|P|x|?BR></TD></TR> <TR> <TD vAlign=top>写俄文字母<BR></TD> <TD vAlign=top>\p{InXiaoEWen}<BR></TD> <TD vAlign=top>\l<BR></TD> <TD vAlign=top>аб{Cеёжзийaxмн<BR>о\рстуфхцчшщъыьэюя<BR></TD></TR> <TR> <TD vAlign=top>大写俄文字母<BR></TD> <TD vAlign=top>\p{InDaEWen}<BR></TD> <TD vAlign=top>\R<BR></TD> <TD vAlign=top>АБВГДЕЁЖЗИЙКЛМНО<BR>ПРСТУФ[ЦЧШЩЪЫЬfy<BR></TD></TR> <TR> <TD vAlign=top>中文序号<BR></TD> <TD vAlign=top>\p{InCnSN}<BR></TD> <TD vAlign=top>\q<BR></TD> <TD vAlign=top>ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ<BR>ⅰⅱ⅜yⅴⅵⅶⅷⅸⅹ<BR>再加上Unicode标准EnclosedAlphanumerics?BR></TD></TR> <TR> <TD vAlign=top>天干字符<BR></TD> <TD vAlign=top>\p{InTianGan}<BR></TD> <TD vAlign=top>\T<BR></TD> <TD vAlign=top>甲乙丙丁戊己庚辛壬癸<BR></TD></TR> <TR> <TD vAlign=top>竖排标点W号<BR></TD> <TD vAlign=top>\p{InSPBiaoDian}<BR></TD> <TD vAlign=top>\V<BR></TD> <TD vAlign=top>|︶|ؓ|﹀|DH﹂H﹄|Ӈ|P|x|?BR></TD></TR> <TR> <TD vAlign=top>拼音字符<BR></TD> <TD vAlign=top>\p{InPinyin}<BR></TD> <TD vAlign=top>\y<BR></TD> <TD vAlign=top>ā֙ǎàēéě؈īTǐìōQǒòūúǔùǖǘǚǜü^ɑńň<BR>GBK -> 0xA8A1- 0xA8C0<BR>只是Unicode标准LatinExtended-A块的一部分?BR></TD></TR> <TR> <TD vAlign=top>注音字符<BR></TD> <TD vAlign=top>\p{InZhuyin}<BR></TD> <TD vAlign=top>\Y<BR></TD> <TD vAlign=top>标准Bopomofo?BR></TD></TR> <TR> <TD vAlign=top>制表字符<BR></TD> <TD vAlign=top>\p{InZhiBiao}<BR></TD> <TD vAlign=top>\C<BR></TD> <TD vAlign=top>标准BoxDrawing块?BR>l检查发?textpro 的算法含有部分非?BR>准Unicode制表W:“∟∣≒≦≧⊎앐”?BR></TD></TR></TBODY></TABLE><BR> <H3><A name=ref_posix_subset></A>POSIX字符子集Q只适用于ASCIIQ?/H3> <TABLE cellSpacing=2 cellPadding=2 width="100%" border=1> <TBODY> <TR> <TD vAlign=top width="30%">正则表达式字W串<BR></TD> <TD vAlign=top>匚w的字W串<BR></TD></TR> <TR> <TD vAlign=top width="30%">\p{Lower}<BR></TD> <TD vAlign=top>写字母[a-z]<BR></TD></TR> <TR> <TD vAlign=top width="30%">\p{Upper}<BR></TD> <TD vAlign=top>大写字母[A-Z]<BR></TD></TR> <TR> <TD vAlign=top width="30%">\p{ASCII}<BR></TD> <TD vAlign=top>所有的ASCII字符[\x00-\x7F]<BR></TD></TR> <TR> <TD vAlign=top width="30%">\p{Alpha}<BR></TD> <TD vAlign=top>大小写字母[\p{Lower}\p{Upper}]<BR></TD></TR> <TR> <TD vAlign=top width="30%">\p{Digit}<BR></TD> <TD vAlign=top>数字[0-9]<BR></TD></TR> <TR> <TD vAlign=top width="30%">\p{Alnum}<BR></TD> <TD vAlign=top>字母数字W,包含大小写字母和数字[\p{Alpha}\p{Digit}]<BR></TD></TR> <TR> <TD vAlign=top width="30%">\p{Punct}<BR></TD> <TD vAlign=top>标点W号Q?"#$%&'()*+,-./:;<=>?@[\]^_`{|}~之一?BR></TD></TR> <TR> <TD vAlign=top width="30%">\p{Graph}<BR></TD> <TD vAlign=top>可显C字W[\p{Alnum}\p{Punct}]<BR></TD></TR> <TR> <TD vAlign=top>\p{Print}<BR></TD> <TD vAlign=top>可打印字W[\p{Graph}]<BR></TD></TR> <TR> <TD vAlign=top>\p{Blank}<BR></TD> <TD vAlign=top>I格或者制表符[ \t]<BR></TD></TR> <TR> <TD vAlign=top>\p{Cntrl}<BR></TD> <TD vAlign=top>控制字符[\x00-\x1F\x7F<BR></TD></TR> <TR> <TD vAlign=top>\p{XDigit}<BR></TD> <TD vAlign=top>十六q制数字[0-9a-fA-F]<BR></TD></TR> <TR> <TD vAlign=top>\p{Space}<BR></TD> <TD vAlign=top>I白W[ \t\n\x0B\f\r]<BR></TD></TR></TBODY></TABLE><BR> <H3><A name=ref_unicode_category></A>Unicode块和分类</H3> <TABLE cellSpacing=2 cellPadding=2 width="100%" border=1> <TBODY> <TR> <TD vAlign=top>?BR></TD> <TD vAlign=top>中文名称Q摘自Word XPQ?BR></TD> <TD vAlign=top>代码区域<BR></TD></TR> <TR> <TD vAlign=top>BasicLatin<BR></TD> <TD vAlign=top>基本拉丁?BR></TD> <TD vAlign=top>\u0000-\u007F<BR></TD></TR> <TR> <TD vAlign=top>Latin-1Supplement<BR></TD> <TD vAlign=top>拉丁?1<BR></TD> <TD vAlign=top>\u0080-\u00FF<BR></TD></TR> <TR> <TD vAlign=top>LatinExtended-A<BR></TD> <TD vAlign=top>拉丁语扩?A<BR></TD> <TD vAlign=top>\u0100-\u017F<BR></TD></TR> <TR> <TD vAlign=top>LatinExtended-Bound<BR></TD> <TD vAlign=top>拉丁语扩?B<BR></TD> <TD vAlign=top>\u0180-\u024F<BR></TD></TR> <TR> <TD vAlign=top>IPAExtensions<BR></TD> <TD vAlign=top>国际x扩充<BR></TD> <TD vAlign=top>\u0250-\u02AF<BR></TD></TR> <TR> <TD vAlign=top>SpacingModifierLetters<BR></TD> <TD vAlign=top>q格的修饰字W?BR></TD> <TD vAlign=top>\u02B0-\u02FF<BR></TD></TR> <TR> <TD vAlign=top>CombiningDiacriticalMarks<BR></TD> <TD vAlign=top>l合用发音符<BR></TD> <TD vAlign=top>\u0300-\u036F<BR></TD></TR> <TR> <TD vAlign=top>Greek<BR></TD> <TD vAlign=top>基本希腊?BR></TD> <TD vAlign=top>\u0370-\u03FF<BR></TD></TR> <TR> <TD vAlign=top>Cyrillic<BR></TD> <TD vAlign=top>襉K语<BR></TD> <TD vAlign=top>\u0400-\u04FF<BR></TD></TR> <TR> <TD vAlign=top>Armenian<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u0530-\u058F<BR></TD></TR> <TR> <TD vAlign=top>Hebrew<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u0590-\u05FF<BR></TD></TR> <TR> <TD vAlign=top>Arabic<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u0600-\u06FF<BR></TD></TR> <TR> <TD vAlign=top>Syriac<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u0700-\u074F<BR></TD></TR> <TR> <TD vAlign=top>Thaana<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u0780-\u07BF<BR></TD></TR> <TR> <TD vAlign=top>Devanagari<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u0900-\u097F<BR></TD></TR> <TR> <TD vAlign=top>Bengali<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u0980-\u09FF<BR></TD></TR> <TR> <TD vAlign=top>Gurmukhi<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u0A00-\u0A7F<BR></TD></TR> <TR> <TD vAlign=top>Gujarati<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u0A80-\u0AFF<BR></TD></TR> <TR> <TD vAlign=top>Oriya<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u0B00-\u0B7F<BR></TD></TR> <TR> <TD vAlign=top>Tamil<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u0B80-\u0BFF<BR></TD></TR> <TR> <TD vAlign=top>Telugu<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u0C00-\u0C7F<BR></TD></TR> <TR> <TD vAlign=top>Kannada<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u0C80-\u0CFF<BR></TD></TR> <TR> <TD vAlign=top>Malayalam<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u0D00-\u0D7F<BR></TD></TR> <TR> <TD vAlign=top>Sinhala<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u0D800-\uDFF<BR></TD></TR> <TR> <TD vAlign=top>Thai<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u0E00-\u0E7F<BR></TD></TR> <TR> <TD vAlign=top>Lao<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u0E80-\u0EFF<BR></TD></TR> <TR> <TD vAlign=top>Tibetan<BR></TD> <TD vAlign=top>藏语<BR></TD> <TD vAlign=top>\u0F00-\u0FFF<BR></TD></TR> <TR> <TD vAlign=top>Myanmar<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u1000-\u109F<BR></TD></TR> <TR> <TD vAlign=top>Georgian<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u10A0-\u10FF<BR></TD></TR> <TR> <TD vAlign=top>HangulJamo<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u1100-\u11FF<BR></TD></TR> <TR> <TD vAlign=top>Ethiopic<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u1200-\u137F<BR></TD></TR> <TR> <TD vAlign=top>Cherokee<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u13A0-\u13FF<BR></TD></TR> <TR> <TD vAlign=top>UnifiedCanadianAboriginalSyllabics<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u1400-\u167F<BR></TD></TR> <TR> <TD vAlign=top>Ogham<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u1680-\u169F<BR></TD></TR> <TR> <TD vAlign=top>Runic<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u16A0-\u16FF<BR></TD></TR> <TR> <TD vAlign=top>Khmer<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u1780-\u17FF<BR></TD></TR> <TR> <TD vAlign=top>Mongolian<BR></TD> <TD vAlign=top>蒙古?BR></TD> <TD vAlign=top>\u1800-\u18AF<BR></TD></TR> <TR> <TD vAlign=top>LatinExtendedAdditional<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u1E00-\u1EFF<BR></TD></TR> <TR> <TD vAlign=top>GreekExtended<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u1F00-\u1FFF<BR></TD></TR> <TR> <TD vAlign=top>GeneralPunctuation<BR></TD> <TD vAlign=top>q义标点<BR></TD> <TD vAlign=top>\u2000-\u206F<BR></TD></TR> <TR> <TD vAlign=top>SuperscriptsandSubscripts<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u2070-\u209F<BR></TD></TR> <TR> <TD vAlign=top>CurrencySymbols<BR></TD> <TD vAlign=top>货币W号<BR></TD> <TD vAlign=top>\u20A0-\u20CF<BR></TD></TR> <TR> <TD vAlign=top>CombiningMarksforSymbols<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u20D0-\u20FF<BR></TD></TR> <TR> <TD vAlign=top>LetterlikeSymbols<BR></TD> <TD vAlign=top>cM字母的符?BR></TD> <TD vAlign=top>\u2100-\u214F<BR></TD></TR> <TR> <TD vAlign=top>NumberForms<BR></TD> <TD vAlign=top>数字形式<BR></TD> <TD vAlign=top>\u2150-\u218F<BR></TD></TR> <TR> <TD vAlign=top>Arrows<BR></TD> <TD vAlign=top>头<BR></TD> <TD vAlign=top>\u2190-\u21FF<BR></TD></TR> <TR> <TD vAlign=top>MathematicalOperators<BR></TD> <TD vAlign=top>数学q算W?BR></TD> <TD vAlign=top>\u2200-\u22FF<BR></TD></TR> <TR> <TD vAlign=top>MiscellaneousTechnical<BR></TD> <TD vAlign=top>零杂技术用W号<BR></TD> <TD vAlign=top>\u2300-\u23FF<BR></TD></TR> <TR> <TD vAlign=top>ControlPictures<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u2400-\u243F<BR></TD></TR> <TR> <TD vAlign=top>OpticalCharacterRecognition<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u2440-\u245F<BR></TD></TR> <TR> <TD vAlign=top>EnclosedAlphanumerics<BR></TD> <TD vAlign=top>带括L字母数字<BR></TD> <TD vAlign=top>\u2460-\u24FF<BR></TD></TR> <TR> <TD vAlign=top>BoxDrawing<BR></TD> <TD vAlign=top>制表W?BR></TD> <TD vAlign=top>\u2500-\u257F<BR></TD></TR> <TR> <TD vAlign=top>BlockElements<BR></TD> <TD vAlign=top>方块囑Ş<BR></TD> <TD vAlign=top>\u2580-\u259F<BR></TD></TR> <TR> <TD vAlign=top>GeometricShapes<BR></TD> <TD vAlign=top>几何囑Ş<BR></TD> <TD vAlign=top>\u25A0-\u25FF<BR></TD></TR> <TR> <TD vAlign=top>MiscellaneousSymbols<BR></TD> <TD vAlign=top>零杂丁贝W(C意W等Q?BR></TD> <TD vAlign=top>\u2600-\u26FF<BR></TD></TR> <TR> <TD vAlign=top>Dingbats<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u2700-\u27BF<BR></TD></TR> <TR> <TD vAlign=top>BraillePatterns<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u2800-\u28FF<BR></TD></TR> <TR> <TD vAlign=top>CJKRadicalsSupplement<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u2E80-\u2EFF<BR></TD></TR> <TR> <TD vAlign=top>KangxiRadicals<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u2F00-\u2FDF<BR></TD></TR> <TR> <TD vAlign=top>IdeographicDescriptionCharacters<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u2FF0-\u2FFF<BR></TD></TR> <TR> <TD vAlign=top>CJKSymbolsandPunctuation<BR></TD> <TD vAlign=top>CJKW号和标?BR></TD> <TD vAlign=top>\u3000-\u303F<BR></TD></TR> <TR> <TD vAlign=top>Hiragana<BR></TD> <TD vAlign=top>q_?BR></TD> <TD vAlign=top>\u3040-\u309F<BR></TD></TR> <TR> <TD vAlign=top>Katakana<BR></TD> <TD vAlign=top>片假?BR></TD> <TD vAlign=top>\u30A0-\u30FF<BR></TD></TR> <TR> <TD vAlign=top>Bopomofo<BR></TD> <TD vAlign=top>注音<BR></TD> <TD vAlign=top>\u3100-\u312F<BR></TD></TR> <TR> <TD vAlign=top>HangulCompatibilityJamo<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u3130-\u318F<BR></TD></TR> <TR> <TD vAlign=top>Kanbun<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\u3190-\u319F<BR></TD></TR> <TR> <TD vAlign=top>BopomofoExtended<BR></TD> <TD vAlign=top>扩展注音<BR></TD> <TD vAlign=top>\u31A0-\u31BF<BR></TD></TR> <TR> <TD vAlign=top>EnclosedCJKLettersandMonths<BR></TD> <TD vAlign=top>带括LCJK字母及月?BR></TD> <TD vAlign=top>\u3200-\u32FF<BR></TD></TR> <TR> <TD vAlign=top>CJKCompatibility<BR></TD> <TD vAlign=top>CJK兼容字符<BR></TD> <TD vAlign=top>\u3300-\u33FF <BR></TD></TR> <TR> <TD vAlign=top>CJKUnifiedIdeographsExtensionA<BR></TD> <TD vAlign=top>CJKl一汉字扩展-A<BR></TD> <TD vAlign=top>\u3400-\u4dBF<BR></TD></TR> <TR> <TD vAlign=top>CJKUnifiedIdeographs<BR></TD> <TD vAlign=top>CJKl一汉字<BR></TD> <TD vAlign=top>\u4E00-\u9fAF<BR></TD></TR> <TR> <TD vAlign=top>YiSyllables<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\uA000-\uA48F<BR></TD></TR> <TR> <TD vAlign=top>YiRadicals<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\uA490-\uA4CF<BR></TD></TR> <TR> <TD vAlign=top>HangulSyllables<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\uAC00-\uD7A3<BR></TD></TR> <TR> <TD vAlign=top>HighSurrogates<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\uD800-\uDB7F<BR></TD></TR> <TR> <TD vAlign=top>HighPrivateUseSurrogates<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\uDB80-\uDBFF<BR></TD></TR> <TR> <TD vAlign=top>LowSurrogates<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\uDC00-\uDFFF<BR></TD></TR> <TR> <TD vAlign=top>PrivateUse<BR></TD> <TD vAlign=top>专用?BR></TD> <TD vAlign=top>\uE000-\uF8FF<BR></TD></TR> <TR> <TD vAlign=top>CJKCompatibilityIdeographs<BR></TD> <TD vAlign=top>CJK兼容汉字<BR></TD> <TD vAlign=top>\uF900-\uFAFF<BR></TD></TR> <TR> <TD vAlign=top>AlphabeticPresentationForms<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\uFB00-\uFB4F<BR></TD></TR> <TR> <TD vAlign=top>ArabicPresentationForms-A<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\uFB50-\uFDFF<BR></TD></TR> <TR> <TD vAlign=top>CombiningHalfMarks<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\uFE20-\uFE2F<BR></TD></TR> <TR> <TD vAlign=top>CJKCompatibilityForms<BR></TD> <TD vAlign=top>CJK兼容形式<BR></TD> <TD vAlign=top>\uFE30-\uFE4F<BR></TD></TR> <TR> <TD vAlign=top>SmallFormVariants<BR></TD> <TD vAlign=top>写变体<BR></TD> <TD vAlign=top>\uFE50-\uFE6F<BR></TD></TR> <TR> <TD vAlign=top>ArabicPresentationForms-Bound<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\uFE70-\ufeFF<BR></TD></TR> <TR> <TD vAlign=top>Specials<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>\uFFF0-\uFFFF<BR></TD></TR> <TR> <TD vAlign=top>HalfwidthandFullwidthForms<BR></TD> <TD vAlign=top>半Ş及全形字W?BR></TD> <TD vAlign=top>\uFF00-\uFFEF<BR></TD></TR></TBODY></TABLE><BR><BR> <TABLE cellSpacing=2 cellPadding=2 width="100%" border=1> <TBODY> <TR> <TD vAlign=top>分类<BR></TD> <TD vAlign=top>全称<BR></TD> <TD vAlign=top>说明<BR></TD></TR> <TR> <TD vAlign=top>Cn<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>UNASSIGNED<BR></TD></TR> <TR> <TD vAlign=top>Lu<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>UPPERCASE_LETTER<BR></TD></TR> <TR> <TD vAlign=top>Ll<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>LOWERCASE_LETTER<BR></TD></TR> <TR> <TD vAlign=top>Lt<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>TITLECASE_LETTER<BR></TD></TR> <TR> <TD vAlign=top>Lm<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>MODIFIER_LETTER<BR></TD></TR> <TR> <TD vAlign=top>Lo<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>OTHER_LETTER<BR></TD></TR> <TR> <TD vAlign=top>Mn<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>NON_SPACING_MARK<BR></TD></TR> <TR> <TD vAlign=top>Me<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>ENCLOSING_MARK<BR></TD></TR> <TR> <TD vAlign=top>Mc<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>COMBINING_SPACING_MARK<BR></TD></TR> <TR> <TD vAlign=top>Nd<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>DECIMAL_DIGIT_NUMBER<BR></TD></TR> <TR> <TD vAlign=top>Nl<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>LETTER_NUMBER<BR></TD></TR> <TR> <TD vAlign=top>No<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>OTHER_NUMBER<BR></TD></TR> <TR> <TD vAlign=top>Zs<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>SPACE_SEPARATOR<BR></TD></TR> <TR> <TD vAlign=top>Zl<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>LINE_SEPARATOR<BR></TD></TR> <TR> <TD vAlign=top>Zp<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>PARAGRAPH_SEPARATOR<BR></TD></TR> <TR> <TD vAlign=top>Cc<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>CNTRL<BR></TD></TR> <TR> <TD vAlign=top>Cf<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>FORMAT<BR></TD></TR> <TR> <TD vAlign=top>Co<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>PRIVATE_USE<BR></TD></TR> <TR> <TD vAlign=top>Cs<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>SURROGATE<BR></TD></TR> <TR> <TD vAlign=top>Pd<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>DASH_PUNCTUATION<BR></TD></TR> <TR> <TD vAlign=top>Ps<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>START_PUNCTUATION<BR></TD></TR> <TR> <TD vAlign=top>Pe<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>END_PUNCTUATION<BR></TD></TR> <TR> <TD vAlign=top>Pc<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>CONNECTOR_PUNCTUATION<BR></TD></TR> <TR> <TD vAlign=top>Po<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>OTHER_PUNCTUATION<BR></TD></TR> <TR> <TD vAlign=top>Sm<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>MATH_SYMBOL<BR></TD></TR> <TR> <TD vAlign=top>Sc<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>CURRENCY_SYMBOL<BR></TD></TR> <TR> <TD vAlign=top>Sk<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>MODIFIER_SYMBOL<BR></TD></TR> <TR> <TD vAlign=top>So<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>OTHER_SYMBOL<BR></TD></TR> <TR> <TD vAlign=top>L<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>LETTER<BR></TD></TR> <TR> <TD vAlign=top>M<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>MARK<BR></TD></TR> <TR> <TD vAlign=top>N<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>NUMBER<BR></TD></TR> <TR> <TD vAlign=top>Z<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>SEPARATOR<BR></TD></TR> <TR> <TD vAlign=top>C<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>CONTROL<BR></TD></TR> <TR> <TD vAlign=top>P<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>PUNCTUATION<BR></TD></TR> <TR> <TD vAlign=top>S<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>SYMBOL</TD></TR> <TR> <TD vAlign=top>LD<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>LETTER_OR_DIGIT<BR></TD></TR> <TR> <TD vAlign=top>L1<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>Latin-1<BR></TD></TR> <TR> <TD vAlign=top>all<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>ALL<BR></TD></TR> <TR> <TD vAlign=top>ASCII<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>ASCII<BR></TD></TR> <TR> <TD vAlign=top>Alnum<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>字母数字(0-9,a-z,A-Z)<BR></TD></TR> <TR> <TD vAlign=top>Alpha<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>字母(a-z,A-Z)<BR></TD></TR> <TR> <TD vAlign=top>Blank<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>I格和制表符(' '|\t)<BR></TD></TR> <TR> <TD vAlign=top>Cntrl<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>控制字符Q不可打?BR></TD></TR> <TR> <TD vAlign=top>Digit<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>数字(0-9)<BR></TD></TR> <TR> <TD vAlign=top>Graph<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>可打C可视字母Q例如空? '是可打印的但不是可视字母Q?`a' 两者都是。)<BR></TD></TR> <TR> <TD vAlign=top>Lower<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>写字母<BR></TD></TR> <TR> <TD vAlign=top>Print<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>可打印字母(非控制字W)<BR></TD></TR> <TR> <TD vAlign=top>Punct<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>标符P字母、数字、控制、空白符以外的字母)Q如Q?@#$%}{<>,./?[]{等?BR></TD></TR> <TR> <TD vAlign=top>Space<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>I白W?' ',\t,0x09,0x0A,0x0B,0x0C,0x0D,0x20)<BR></TD></TR> <TR> <TD vAlign=top>Upper<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>大写字母<BR></TD></TR> <TR> <TD vAlign=top>XDigit<BR></TD> <TD vAlign=top><BR></TD> <TD vAlign=top>十六q制数字(0-9Qa-f, A-F)<BR></TD></TR></TBODY></TABLE><BR> <HR width="100%" SIZE=2> <BR><BR><BR> <H3><A name=man_subexp></A>替换表达?/H3><A name=subexp_chars></A>Ҏ(gu)字符<BR> <TABLE cellSpacing=2 cellPadding=2 width="100%" border=1> <TBODY> <TR> <TD vAlign=top width="30%">Ҏ(gu)字符介绍<BR></TD> <TD vAlign=top>描述<BR></TD></TR> <TR> <TD vAlign=top width="30%">\n<BR></TD> <TD vAlign=top>换行<BR></TD></TR> <TR> <TD vAlign=top width="30%">\b<BR></TD> <TD vAlign=top>向前删除一个字W。当q个字符位于替换串之首时Q将删除匚w串之前的一个字W。若匚w串位于行首,匚w串所在行与前一行相合ƈ?BR></TD></TR> <TR> <TD vAlign=top width="30%">\d<BR></TD> <TD vAlign=top>向后删除一个字W。当q个字符位于替换串之末时Q将删除匚w串之后的一个字W。若匚w串位于行末,匚w串所在行与下一行相合ƈ?BR></TD></TR> <TR> <TD vAlign=top width="30%">\e<BR></TD> <TD vAlign=top>插入一个ESC字符<BR></TD></TR> <TR> <TD vAlign=top>\t<BR></TD> <TD vAlign=top>插入一个TAB字符<BR></TD></TR> <TR> <TD vAlign=top>\<I><B>n</B></I><BR></TD> <TD vAlign=top>n代表查找正则表达式中的子表达式(l)。\1代表W一个子表达式,\2代表W二个子表达式,依次cL。\0代表整个匚w到的字符丌Ӏ?BR></TD></TR> <TR> <TD vAlign=top>\v<BR></TD> <TD vAlign=top>大写下一个字?BR></TD></TR> <TR> <TD vAlign=top>\U<BR></TD> <TD vAlign=top>全部大写以后的字母,直到到其它指示Wؓ止?BR></TD></TR> <TR> <TD vAlign=top>\l<BR></TD> <TD vAlign=top>写下一个字?BR></TD></TR> <TR> <TD vAlign=top>\L<BR></TD> <TD vAlign=top>全部写以后的字母,直到到其它指示Wؓ止?BR></TD></TR> <TR> <TD vAlign=top>\E<BR></TD> <TD vAlign=top>取消所有的字母大小写指C符?BR></TD></TR></TBODY></TABLE><BR><BR><A name=subexp_custtbl></A>自定义替换表<BR><BR>在查找/替换中用自定义替换?<BR>有的时候,上述单的自定义替换功能是不够的。例如,用户可能希望只把出现在括号内的源串替换ؓ目标丌Ӏ这U文本处理可以通过在查?替换中用自定义替换表来解决?<BR><BR>在查?替换功能中用自定义替换表的替换函数是\TnQ其中n?-9的数字, 注意n?表示W?0张替换表。如果略去nQ其效果相当于\T1Q即使用W一张替换表。例如要把所有放在方括号中的汉字替换为拼韻I可以查找“\[(\E)\]”,替换为“\T{\1}”。即把第一个子表达式的匚w内容按自定义替换表{换。注意,如果\T函数的参C在替换表的源串中Q\T函数的结果与源串相同Q即不做M变换?<BR><BR>有些情况下,用户可能希望只用替换表的一部分内容。还是以拼音ZQ前面给出的替换表中包含了拼音的韌Q如果在替换时不希望加上q些韌数字Q可以用“过滤”功能。所谓过滤,其实是用一个正则表辑ּd析替换表的目标串Qƈ把其中的某个子表辑ּ取出来?<BR><BR>使用“过滤”时Q在“设|自定义替换表”对话框中,点“过滤”按钮,在弹出的对话框中填入一个正则表辑ּ。再以拼音ؓ例,表达式可以写为?\p{Alpha}+)(\d)”,其中W一Ҏ(gu)号中的是不含韌的拼韻IW二Ҏ(gu)h韌。在调用\T函数ӞJTextPro会在目标串中查找q个正则表达式。但是如何把其中的子表达式取出来呢?\T函数q有一个可选的下标Q取Wn个子表达式的值就写作\T{...}[n]。所以,把放在方括号中的汉字替换Z带调的拼韻I可以查找“\[(\E)\]”,替换为“\T{\1}[1]?<BR><BR><img src ="http://m.tkk7.com/zhangrenquan/aggbug/23458.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/zhangrenquan/" target="_blank">kelven</a> 2005-12-12 13:38 <a href="http://m.tkk7.com/zhangrenquan/archive/2005/12/12/23458.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse插ghttp://m.tkk7.com/zhangrenquan/archive/2005/12/12/23457.htmlkelvenkelvenMon, 12 Dec 2005 05:30:00 GMThttp://m.tkk7.com/zhangrenquan/archive/2005/12/12/23457.htmlhttp://m.tkk7.com/zhangrenquan/comments/23457.htmlhttp://m.tkk7.com/zhangrenquan/archive/2005/12/12/23457.html#Feedback0http://m.tkk7.com/zhangrenquan/comments/commentRss/23457.htmlhttp://m.tkk7.com/zhangrenquan/services/trackbacks/23457.html我收集的Eclipse插g

Poperties Editor
  http://propedit.sourceforge.jp/eclipse/updates/

eclipseME
 
http://eclipseme.org/updates/

Eclipse加速插件KeepResident
http://suif.stanford.edu/pub/keepresident/

 
MyEclipse  J2EE开发插Ӟ支持SERVLET/JSP/EJB/数据库操U늭
www.myeclipseide.com
 
Properties Editor  ~辑java的属性文Ӟq可以自动存盘ؓUnicode格式
http://propedit.sourceforge.jp/index_en.html
http://propedit.sourceforge.jp/eclipse/updates/
 
Colorer Take  Z癄cd的文件按语法着?BR>
http://colorer.sourceforge.net/
 
XMLBuddy ~辑xml文g
www.xmlbuddy.com
 
Code Folding  加入多种代码折叠功能Q比eclipse自带的更多)
http://www.coffee-bytes.com/servlet/PlatformSupport
 
Easy Explorer  从eclipse中访问选定文g、目录所在的文g?BR>
http://easystruts.sourceforge.net/
 
Fat Jar 打包插gQ可以方便的完成各种打包dQ可以包含外部的包等
http://fjep.sourceforge.net/
 
RegEx Test 试正则表达?BR>
http://brosinski.com/stephan/archives/000028.php
 
JasperAssistant 报表插gQ强Q要qQ?BR>
http://www.jasperassistant.com/
 
Jigloo GUI Builder QAQӞ的GQテ~辑插g
http://cloudgarden.com/jigloo/
 
Profiler 性能跟踪、测量工P能跟t、测量Q程?BR>
http://sourceforge.net/projects/eclipsecolorer/
 
AdvanQas 提供对if/else{条件语句的提示和快捷帮助(自动更改l构{)
http://eclipsecolorer.sourceforge.net/advanqas/index.html
 
Log4E     Log4j插gQ提供各U和Log4j相关的Q务,如ؓҎ(gu)、类d一个logger{?BR>
http://log4e.jayefem.de/index.php/Main_Page
 
VSSPlugin VSS插g
http://sourceforge.net/projects/vssplugin
 
Implementors   提供跌{C个方法的实现c,而不是接中的功能Q实?Q?BR>
http://eclipse-tools.sourceforge.net/implementors/
 
Call Hierarchy 昄一个方法的调用层次Q被哪些Ҏ(gu)调,调了哪些Ҏ(gu)Q?BR>
http://eclipse-tools.sourceforge.net/call-hierarchy/index.html
 
EclipseTidy 查和格式化HTML/XML文g
http://eclipsetidy.sourceforge.net/
 
Checkclipse 查代码的风格、写法是否符合规?BR>
http://www.mvmsoft.de/content/plugins/checkclipse/checkclipse.htm
 
Hibernate Synchronizer Hibernate插gQ自动映等
http://www.binamics.com/hibernatesync/
 
spring updatesite 插g
http://springide.org/updatesite/

VeloEclipse  Velocity插g
http://propsorter.sourceforge.net/
 
EditorList   方便的列出所有打开的Editor
http://editorlist.sourceforge.net/
 
MemoryManager 内存占用率的监视
http://cloudgarden.com/memorymanager/

Eclipse的游戏插?BR>http://eclipse-games.sourceforge.net/

JBoss-IDE
http://jboss.sourceforge.net/jbosside/updates/

自动反编译classQ安装后要设定class文g~省兌到jode
http://www.technoetic.com/eclipse/update


jigloo swing/sw设计工具Q里面自带的form/anchor布局很好用!
http://cloudgarden.soft-gems.net/update-site/

jinto的资源文件编辑工P同时~辑多种语言Q而且自动转换成iso8859-1~码。很好用Q?BR>http://www.guh-software.de/eclipse/



kelven 2005-12-12 13:30 发表评论
]]>
վ֩ģ壺 վɫѿ| ޾ƷƵ| AVɫɫWWW| AV˾þԭ| ҹƷþþþ | ˵һ | Ѳ߹ۿAV| ޾ƷavĻ| Ʒ޳ɦɦ߹ۿ | ޳߲| ŷ޹Ʒ㽶| պѸƵ| þ99Ʒһ| av벻þ| Ƶ߲| AVվ | һۿƵ߲ | VVA| ѵһƬվ| ձһ| ŮܳƵ| ˳ɵӰ߹ۿ| ëƬ޾Ʒ| ɫƵ| 91㽶߹ۿѸ| һëƬ**ѿԿ20| Ʒպ99޵߷| ɫɫwww˿ | þ޾ƷƷ | һƵ߹ۿ| ٸһ˳| þùƷ| ޾ƷŮþþþ | þþƷAV鶹| ˬָ߳ëƬ| ޳ѵӰ| Ʒһʽâ| ѾƷƵ| avպavվ| ޹˳߹ۿ| avһ |