[java_初级]:偶识【正则表达式】-编程开发技术

[java_初级]:偶识【正则表达式】-编程开发技术

ID:30779438

大小:169.96 KB

页数:11页

时间:2019-01-03

[java_初级]:偶识【正则表达式】-编程开发技术_第1页
[java_初级]:偶识【正则表达式】-编程开发技术_第2页
[java_初级]:偶识【正则表达式】-编程开发技术_第3页
[java_初级]:偶识【正则表达式】-编程开发技术_第4页
[java_初级]:偶识【正则表达式】-编程开发技术_第5页
资源描述:

《[java_初级]:偶识【正则表达式】-编程开发技术》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、[JAVA-初级]:偶识【正则表达式】-编程开发技术[JAVA•初级]:偶识【正则表达式】原文出处:吴士龙简介正则表达式的“祖先”可以一直上溯至对人类神经系统如何工作的早期研究。WarrenMcCulloch和WalterPitts这两位神经生理学家研究出一种数学方式来描述这些神经网络。1956年,一位叫StephenKleene的美国数学家在McCulloch和Pitts早期工作的基础上,发表了一篇标题为“神经网事件的表示法”的论文,引入了正则表达式的概念。正则表达式就是用来描述他称为“正则集的代数”的表达式,因此采用“正则表达

2、式”这个术语。随后,发现可以将这一工作应用于使用KenThompson的计算搜索算法的一些早期研究,KenThompson是Unix的主要发明人。正则表达式的第一个实用应用程序就是Unix中的qcd编辑器。如他们所说,剩下的就是众所周知的历史了。从那时起直至现在正则表达式都是基于文木的编辑器和搜索工具中的一个重要部分。止如他的名字一样是描述了一个规则,通过这个规则可以匹配一类字符串。如果原來没冇使用过正则表达式,那么可能对这个术语和概念会不太熟悉。不过,它们并不是您想象的那么新奇。请回想一下在硕盘上是如何查找文件的。大家肯定会使用

3、?和*字符来帮助查找正寻找的文件。?字符匹配文件名中的单个字符,而*则匹配一个或多个字符。一个如Mata?.datJ的模式可以找到下述文件:data1.datdata2・datdatax.datdataN.dat如果使用*字符代替?字符,则将扩大找到的文件数量。'data*,dat'可以匹配下述所有文件名:data.datdatal.datdata2.datdatal2.datdatax.datdataXYZ・dat尽管这种搜索文件的方法肯定很冇用,但也十分冇限。?和*通配符的冇限能力可以使你对正则表达式能做什么冇一个概念,文本的

4、复杂处理,不过正则表达式的功能更强大,也更灵活。优势在典型的搜索和替换操作小,必须提供要查找的确切文字。这种技术对于静态文本屮的简单搜索和替换任务可能足够了,但是由于它缺乏灵活性,因此在搜索动态文木时就有困难了,甚至是不可能的。使用正则表达式,就可以:1•测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符吊是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证;2.替换文本。可以在文档屮使用一个止则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字;3.根据模式匹配从字符串屮提取一个子字符

5、串。可以用来在文本或输入字段小查找特定文字。例如,如果需要搜索整个web站点來删除某些过时的材料并替换某些IITML格式化标记,则可以使用正则表达式对每个文件进行测试,看在该文件屮是否存在所要查找的材料或HTML格式化标记。用这个方法,就可以将受影响的文件范围缩小到包含要删除或更改的材料的那些文件。然后可以使用正则表达式来删除过时的材料,最后,可以再次使用正则表达式來查找并替换那些需要替换的标记。另一个说明正则表达式非常有用的示例是一种其字符串处理能力述不为人所知的语言。VBScript是VisualBasic的一个子集,具有丰富

6、的字符串处理功能。与C类似的Jscript则没有这一能力。止则表达式给JScript的字符串处理能力带来了明显改善。不过,可能还是在VBScdpt中使用正则表达式的效率史高,它允许在单个表达式中执行多个字符申操作。一个止则表达式就是由普通字符(例如字符a到z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。这里有一些可能会遇到的正则农达式示例:JScriptVBScript匹配/A[t]*$/"八[t]*$”匹配一

7、个空白行。Ad{2}-d{5}/“d{2}・d{5}”验证一个ID号码是否由一个2位数字,一个连字符以及一个5位数字组成。/<(.*)>.*/匹配一个HTML标记。卜•表是元字符及其在止则表达式上下文中的行为的一个完整列表:字符描述将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。例如,匹配字符“匹配一个换行符。序列'\'匹配“”而“(”则匹配“(“。A匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,人也匹配5'或'r'Z后的位置。$匹配输入

8、字符串的结束位置。如果设置了RegExp对象的Multiline属性,$也匹配5'或之前的位置。*匹配前而的子表达式零次或多次。例如,Z0*能匹配“Z”以及“zoo”。*等价于{0,}。+匹配前面的子表达式一次或多次。例如,‘Z0+'能匹配“Z0”

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。