【读书笔记】MasteringRegularExpressions读书笔记x
1 / 2
1 / 2
2/2
2/2
《MasteringRegularExpressions^ 读书笔记
近段涉及到了数据的解析,自然离不开对regular expressions (正则表达 式)的温习;在jdk官方源码中看到了对《mastering regular expressions, 2nd edition》的推荐;由 jeffrey e.f. friedl 大师主刀,oreilly 于 XX 年再版。对 oreilly 的书向有好感,像当年误入ja旧的歧途,没看jove编程思想之类的,倒看了 oreilly的一本影印版^java in a nutshell》,颇留记忆。
正则表达式的“祖先〃可以一直上溯至对人类神经系统如何工作的早期研 究。warren mcculloch和waiter pitts这两位神经生理学家研究出一种数学方式 来描述这些神经网络。1956年,一位叫stephen kleene的数学家在mcculloch 和pitts早期工作的基础上,发表了一篇标题为“神经网事件的表示法〃的论文, 引入了正则表达式的概念。正则表达式就是用来描述他称为〃正则集的代数〃的 表达式,因此采用“正则表达式〃这个术语。
随后,发现可以将这一工作应用于使用ken thompson的计算搜索算法的 一些早期研究,ken thompson是unix的主要发明人。正则表达式的第一个实 用应用程序就是unix中的qed编辑器。
目前,正则表达式已经在很多软件中得到广泛的应用,包K*nix (linux, unix等),hp等操作系统;php, perl, python, c#, jeva等开发环境,以及很 多的应用软件中,for example:网络上的搜索引擎,数据库的全文检索etc...
本笔记是是自我学习过程的一个整理,例子或来源于书本,或自己枚举。
好了,废话一勢筐,切入正题。
1、正则表达式的介绍
1.2、行开始和结束
Abegin lineo匹配行开头,如Mat匹配以cat开头的
$end lineo匹配行结束,如cet$匹配以cat结束的;八曲$仅仅匹配该行有 cat
1.2、 匹配给定的字符序列
表示in。里面写入欲匹配的几个字符,如,匹配 seperate,separetezseparate";匹酉己,,
2.3、 匹配非给定的字符(非…)
[八]匹配,表示not。八和行开头的标记完全一样,但写的位置不一样,则表 述的意思可能完全相反,用八表示否定的意思,更多是写在[]里面,如:q[“]匹 配q后面紧跟非u的字符,^DiraqLqasidajaqqumJraq;没错;,iraq"这个单词也 会被匹配,尽管q后面什么也没有,也可能有个空格、或回车符等。否定字符的 意思(翻译出来绕口) : means "match a character thats not listed" and not "dont match what is listed."
1.4、 匹配任何字符
.匹配,表示 any。任何字符,如 07.04 匹配:07_04,07-04,07 04,07.04 etc; 如想要精确匹配07/04,07-04,or 07.04;需要写07[-./]04;没错当.在[]里面包含的 时候,仅仅表示“.〃字符而己,如果不在[]里而,需要转义\\.如匹配形如x.y的 小数:M[0-9]\\.[0-9],而非[0-9].[0-9]
1.5、 匹配几个给定的字符序列中的一个
| 匹配,表示 or。to be continued....
推荐访问:读书笔记 读书笔记 MasteringRegularExpressions 【读书笔记】MasteringRegularExpressions读书笔记x