想必很多人都对正则表达式都头疼。今天,我以我的认识,加上网上一些文章,希望用常人都可以理解的表达方式来和大家分享学习经验。   开篇,还是得说说 ^ 和 $ 他们是分别用来匹配字符串的开始和结束,以下分别举例说明:   "^The": 开头一定要有"The"字符串;   "of despair$": 结尾一定要有"of despair" 的字符串;   那么,   "^abc$": 就是要求以abc开头和以abc结尾的字符串,实际上是只有abc匹配。   "notice": 匹配包含notice的字符串。   你可以看见如果你没有用我们提到的两个字符(最后一个例子),就是说 模式 ...
大三,编译原理的课程设计,现拿出来共同研究下。 问题描述 设计一个由正规文法生成First集和Follow集并进行简化的算法动态模拟 【基本要求】 动态模拟算法的基本功能是: (1) 输入一个文法G; (2) 输出由文法G构造FIRST集的算法; (3) 输出First集; (4) 输出由文法G构造FOLLOW集的算法; (5) 输出FOLLOW集。 【测试数据】 输入文法: E->TE’ E’->+TE’|ε T->FT’ T’->*FT’|εF->(E)|i
jar文件听说过吗,没有?或者陌生!好,没关系,这就是我们的第一站:打包发布。     为什么会有这个玩意呢,首先,这是jar的全称:JavaTM Archive (JAR) file,是的,就是java存档文件。这有点类似zip文件,想一想它是干什么的用的呢,压缩!?没错就是要压缩,将我们原先零散的东西放到一下,重新组织,所有这些目的只有一个:方便!好了,不用管他是怎么压缩的,我们的重点是哪些是我们要压缩的(输入),还有压缩成了什么(输出),进而将它发布(部署)。      那我们的输入(要压缩的东西)主要是class文件,还有辅助的资源(这其中可能有图片,jsp文件,html文件等 ...
一般说来,URL中包含关键词对排名确实会有所帮助。这通常涉及到两个问题:域名是否宜使用关键词和子页名是否应使用关键词。域名的排名优化效果和品牌效果从搜索引擎排名优化的角度考虑,含关键词的域名一般比域名中不含关键词的网站排名要好。例如若以“hosting”作为搜索词,则网站 www.hosting.com比www.ipowerweb.com更容易获得较高网站排名。此外在友情链接时,人们一般还是习惯用网站名称/域名来做文本链接内容。这样一来,包含关键词的域名无形中可以给网站增加砝码。不过从产品或服务的品牌效果考虑,如果你提供的产品或服务具有打造品牌的实力和深厚的市场潜力,那么用公司名称(品牌名称) ...
本来想用IndexReader.Delete(docNum)的方式,后来发现除非遍历整个索引,否则是没有办法获得docNum的(一个索引里边上万条记录太正常了,这个遍历就太恐怖了)。 后来发现一个简单的,直接IndexReader.Delete(term)就可以了。把url也保存成一个field(注意要是keyword),然后IndexReader.Delete(new Term("url","http://ringoding/test.html"))就可以了。 其实这个方法早就知道,只是折腾了好久...曲折,有的时候本来很简单的东西,结果被自己弄复杂了。
(转载自 javaeye 会员Qieqie ) 庖丁解牛 最新版本2.0.0 主要变更: 1)调整了package命名 改为net.paoding.analysis开头;调整了一些类的命名,主要是XAnalyzer改为 PaodingAnalyzer之类的。 2)并调整了部分代码的相对位置:代码集中在三个包中: net.paoding.analysis.dictionary 字典抽象--这是核心代码之一 net.paoding.analysis.knife "刀"抽象-分词算法-这是核心代码之二 net.paoding.analysis.analyzer 封装adapter ...
Java数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序。然而各个开发商的接口并不完全相同,所以开发环境的变化会带来一定的配置变化。本文主要集合了不同数据库的连接方式。   一、连接各种数据库方式速查表   下面罗列了各种数据库使用JDBC连接的方式,可以作为一个手册使用。   1、Oracle8/8i/9i数据库(thin模式) Class.forName(“oracle.jdbc.driver.OracleDriver“).newInstance(); ...
[color=red][color=yellow][color=violet][color=darkred][color=cyan][color=brown][color=orange][color=blue]国际化的作用就是根据不同国家的用户在访问Web或其他类型的程序时,将各种信息以本地的常用形式显示出来,如界面信息在中国,就会显示中文信息,在以英文为主的国家里,就会显示英文信息。还有就是一些信息的格式,如日期格式等。 从属性文件中获得字符串信息是国际化的基本应用。在Struts2中使用的属性文件就是Java属性文件,扩展名为properties。在Struts2中的属性文件可以有很多默 ...
[color=blue] 在上一篇中介绍了Struts2拦截器的原理,在这一篇中我们将学习一下如何编写自己的拦截器。 一、拦截器的实现 实现一个拦截器非常简单。实际上,一个拦截器就是一个普通的类,只是这个类必须实现com.opensymphony.xwork2.interceptor.Interceptor接口。Interceptor接口有如下三个方法: public interface Interceptor extends Serializable { void destroy(); void init(); String intercept(A ...
[color=blue] Struts2的拦截器和Servlet过滤器类似。在执行Action的execute方法之前,Struts2会首先执行在struts.xml中引用的拦截器,在执行完所有引用的拦截器的intercept方法后,会执行Action的execute方法。 Struts2拦截器类必须从com.opensymphony.xwork2.interceptor.Interceptor接口继承,在Intercepter接口中有如下三个方法需要实现: void destroy(); void init(); String intercept(ActionInvocation ...