动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息

本月文章推荐
.没有迭代到的元素被动态删除时的.
.论Java加密技术与Windows的结合.
.J2ME与Web Service-KSOAP快速上手.
.体验 JAVA 5 的新.
.Javascript实例教程(10) 创建“后.
.浅析Java语言中两种异常使用的差.
.EJB应用技术的体系结构详解(1).
.Java how to program(Third Edi.
.Eclipse Tomcat Jasper 入门.
.JMeter技巧集锦.
.两种Java容器类List和Set分析.
.Java抽取Office、PDF的四件兵器.
.Servlet和JavaServerPages的集成.
.JDBC编程基础.
.JAVA几个常见错误简析(上).
.正则表达式的概述及在JAVA中的使.
.JAVA基础应用: 如何实现希尔排序.
.Java Web Services的远端调用.
.Linux 2.4.x 网络协议栈QoS模块(.
.MyEclipse 4.1 M2&nbs.

Java & regex(2-3)

发表日期:2008-1-5 |



  Java & regex(2-3)
§5 连接
核心3点是rs表达式。这个连接运算,再说就似乎太罗索了。把单字符顺着写就形成了一条字符线,一个字符接着一个字符。在Java中,有字符串String、字符序列(CharSequence),虽然都是一根绳子,但它们不是一个东西——String是类、CharSequence是接口。ok,我们不讨论Java的API。

这里要注重的是,

在使用连接运算时记住:

① 连接运算仅仅比元字符的优先级高。

boy是一个regex,其语义是b后面紧跟一个o再紧跟一个y。包括了元字符的时候,如b[ao]y其语义是b后面紧跟一个a或o再紧跟一个y。

② 所有的并集(除了baoy形式)仅仅匹配一个单字符,例如:

a(sdf)g匹配Iasdgbbasgbbafgbb,而a[sdf]g匹配asdgooasgoooafgooagooadg【并集还有很多东西要学习的。】

③ 关于.的问题。

有一个典型的例子——日期的匹配说明,我们应该谨慎使用它。日期格式一般是yyyy-mm-dd。当然也有yyyy.mm.dd等形式,假如使用\d\d\d\d.\d\d\.\d\d,虽然可以匹配用户喜欢的日期分割符,但它也匹配2005a02b02,9876543210这不是我们希望的。也许使用[-/ .]顶替.比较好。它答应a dash, space, dot and forward slash作为日期分割符。【当然它也不完善,因为它匹配3005/13/50和0000/00/00。而它不匹配我写的今天的日期格式05/2/2。事实上,regex的构造依靠于我们的目标——假如我们强制用户使用yyyy/mm/dd格式,我们可以简单的用:

(1920)\d\d/(0[1-9]1[012])/(0[1-9][12][0-9]3[01]) 。】

④ 连接的其他形式:

正如我们说知道的,a{3}是aaa的简写。a{1,3}是aaaaaa的简写。我们经常把它们与闭包运算放在一起讨论。

§6 闭包
核心4点是r*表达式。我们首先回顾闭包运算的各种写法,再深入理解正则表达式引擎的运行规则。

L (r*) = {ε,r,rr,……}是无穷集合,它匹配r串的任意有穷连结。

在Java中:

r?是{ε,r }的正则表达式;

r+是L (r*)-{ε}的正则表达式;

r{3,} 是L (r*)-{ε,r,rr}的正则表达式;

在涉及闭包运算时,我们会碰到几个重要概念——Greediness(贪心)、lookahead和lookbehind(瞻前顾后——前瞻、后顾)等。我们先看几个例子:

regex
String
替换⊙

a+
saaaasgaaafga
s⊙sg⊙fg⊙

ab?\w
abc aaabc gabbbf gbbaaag


a?
far【有四个匹配项】
⊙f⊙⊙r⊙

[ab]+
back about bar bbb aaa bac


[ab]+[rc]
back about bar bbb aaa bac


[ab]*
back about bar bbb aaa bac
⊙⊙c⊙k⊙ ⊙⊙o⊙u⊙t⊙ ⊙⊙r⊙ ⊙⊙ ⊙⊙ ⊙⊙c⊙

[0-9]+
123456654321999ok
⊙ok

[3-6]+
111333555888


([3-9])\\1+
12355555551999ok


[ab]{3,}
abc aaabc gabbbf gbbaaag







解释:单独使用a?和a*很麻烦。

([3-6])\\1+【regex练习器与Java源程序不同!】

§7 regex引擎的机制
regex引擎是处理正则表达式的软件,尝试以模板去匹配给定的字符串。一般而言,我们不直接调用该引擎,而是通过一些API去使用它们。对于不同的语言和开发环境,它们不会完全一致,其中Perl 5的regex是基础,它也是使用得最广泛的。Java语言的regex与Perl 5的regex flavor有一些不同。但机制是一致的。

1、匹配的两种道路:

有两种regex引擎:文本引导(text-directed)引擎和regex引导的引擎。它们

2、regex引擎是急性子,它总是返回最左边的匹配项

必须记住的非常重要的一点:regex引导的引擎总是返回最左边的匹配项。我在前面很小心的说某个regex可以匹配那些咚咚,是因为我们使用了一些Java语言的方法,regex引擎总是从字符串头开始匹配(start from beginning),一旦找到了一个匹配项,它就会急急忙忙的报告说:“我找到了匹配项”。除非你要求它again。

对于文本good and god,regex为go{1,2}d,则返回最左边的good。我们具体说明其过程。
上一篇:IT人才风向标之java——java人才现状大调查结果出炉 人气:427
下一篇:JAVA - IO包的学习引导文章(摘抄) 人气:450
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-4 LPLY CMS 网站管理系统 v5.0
2008-9-4 缤纷互动视频交友 v3.01.902
2008-9-4 ADN视频收藏专家 v3.0 bulid 080
2008-9-4 天空网络电影系统SKYUC v2.5.6 简
2008-9-4 Web Wiz Rich Text Editor(文本编
2008-9-4 幻影动漫网视频系统(Ppdong) v1.
2008-9-4 乐维电脑在线DIY配置系统
2008-9-4 老樊文章管理系统SQL版
2008-9-4 ASP.NET 2.53 缩略图水印组件源码
2008-8-23 Mini WinMount V0.4
2008-8-23 Vista优化大师3.11正式版
2008-8-23 Wine 1.13
2008-8-23 KlipFolio 5.0 Build 5899-80
2008-8-23 Windows Sysinternals Desktops
2008-8-23 OneTap Movies1.2破解版
2008-8-23 AnnotaterPDF阅读1.1.503 破解版
2008-8-23 SoundMeter分贝测量仪 v1.0汉化破
2008-8-23 iDrum音乐节拍1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵