仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 575|回复: 8
打印 上一主题 下一主题

[学习教程] 来看构建用于正则表达式的笼统Java API

[复制链接]
老尸 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:24:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
你精通任何一门语言就最强大。现在来看,java的市场比C#大,C#容易入手,比较简单,java比较难
当您在Java中利用正则表达式时,依附某一详细regexp库一般不是个好主张。假如利用笼统层,您能够在分歧regexp库之间切换,下降您的代码与特定库之间的耦合,并能选择哪一个库最合适您的必要。假如您正在思索鄙人一个项目中利用Javaregexp库,软件开辟职员JoseSanLeandroArmendariz将向您演示怎样使代码自力于所选择的详细库。并让您进一步懂得regexp及其事情道理,随后还供应了一些实习。
简介
只管您大概以为编写必要剖析文本的Java使用程序是一项复杂义务,但象很多事变一样,它会很快变得庞大起来。那切实其实是我在编写代码以剖析HTML页面时的履历。入手下手的时分,我偶然会利用Perl5正则表达式(regexp)。可是,因为某些缘故原由(稍后申明),我厥后经常利用它们。
背景常识
在我的履历中,年夜多半Java开辟职员都必要剖析某种文本。一般,这意味着他们最后要花一些工夫利用象indexOf或substring那样的与Java字符串相干的函数或办法,而且但愿输出格局永久稳定。可是,假如输出格局改动,那么用于读取新格局的代码保护起来就会变得更庞大、更坚苦。最初,代码大概需要撑持主动换行(wordwrapping)、辨别巨细写等。
因为逻辑变得加倍庞大,以是保护也变得很坚苦。由于任何变动都大概发生反作用并使文本剖析器的别的部分中断事情,以是开辟职员必要工夫修改这些小毛病。
有必定Perl履历的开辟职员大概也有过利用正则表达式的履历。假如够幸运(或优异)的话,这位开辟职员可以压服团队其他的人(或最少是团队向导)利用这项手艺。新的办法将作废编写用来挪用String办法的多行代码,它意味着将剖析器逻辑的中心托付进来,并交换为regexp库。
承受了有Perl5履历的开辟职员的倡议后,团队必需选择哪一个regex完成最合适他们的项目。然后他们必要进修怎样利用它。
在扼要地研讨了从因特网上找到的浩瀚可选计划后,假定团队决意从人们更熟习的库当选择一个利用,如属于Jakarta项目标Oro。接上去,对剖析器举行较年夜水平地重构或几近从头编写,而且剖析器终极利用了Oro的类,如Perl5Compiler、Perl5Matcher等。
这一决意的成果很分明:
代码与JakartaOro的类严密地耦合在一同。
团队承当了风险,由于不晓得非功效性需求(如功能或线程模子)是不是将得到满意。
团队已消费工夫和财力来进修偏重新编写代码,以使它利用regexp库。如果他们的决意是毛病的而且选择了新的库,则这一事情在本钱大将不会有很年夜区别,由于将必要再次从头编写代码。
即便库事情一般,假如他们决意应当迁徙到全新的库(比方,包含在JDK1.4中的库),怎样办?
往耦的优点
有无举措使团队晓得哪一个完成最合适他们的必要呢(不但如今能未来也能)?让我们试着寻觅谜底。
制止依附任何特定的完成
后面的情况在软件工程中非常罕见。在有些情形中,如许的情况会招致较年夜的投资和较长的延期。当不懂得一切成果就作出决意并且决议制订人不太交运或缺少必须的履历时,就经常会产生这类情形。
<p>
在ruby里才是一切皆对象。当然我不并不是很了解ruby,但是ruby确实是将语法简化得很好。
飘灵儿 该用户已被删除
沙发
发表于 2015-1-21 05:37:44 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
再见西城 该用户已被删除
板凳
发表于 2015-1-26 21:43:54 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
小女巫 该用户已被删除
地板
发表于 2015-1-29 09:07:32 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
活着的死人 该用户已被删除
5#
发表于 2015-2-6 00:09:43 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
老尸 该用户已被删除
6#
 楼主| 发表于 2015-3-4 06:29:47 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
小妖女 该用户已被删除
7#
发表于 2015-3-7 01:14:23 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
透明 该用户已被删除
8#
发表于 2015-3-13 23:37:24 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
简单生活 该用户已被删除
9#
发表于 2015-3-20 22:18:36 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-16 15:36

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表