工作两年(三)--进入Regular Expression的世界

原创 2005年04月29日 22:20:00

已经不记得第一次听说正则表达式是什么时候了,但是计算理论课让我对它有了一定的理解。而真正在实践中用到,还是从半年前开始,接手同事用Perl写的一个测试框架,那时其实一点Perl程序都不会写,就这样一点一点学起来,后来发现写Perl程序就是在构造一个个正则表达式,把字符串分解,然后再重新组合。

相对于编译器和emacs来说,我接触正则表达式的时间更短,而且相对于前两者来说,后者的资料更难找,所以学起来也更困难。后来听同事说有本《Mastering Regular Expression》,已经出到第二版了,不过国内没有卖的,正好他当时要去美国出差,就托他帮我带一本回来。拿到书时我感到很惊讶,在我看来概念简洁的正则表达式居然要用这么厚(496页)的一本书来讲解。书中的一段话解释了我的困惑,原来,实践中的正则表达式是基于理论的一种扩展,甚至已经跳出理论的框架,并非正则了。只不过没人为这个新发明的东西命名,仍然叫它正则表达式。由于变种很多,要讲清楚它们之间的相同和不同点,就很不容易。

这是一本相当好的书,将我一点点引入美妙的正则表达式的世界。每当我建立起信心,自以为已经学会了按照正则表达式的方式思考时,作者就会用一个精妙的例子教育我“路还长着呢”!可以说,正则表达式为我打开了一扇门,让我以一个全新的角度看待文本,它们已经不仅仅是一串字符流,而且拥有一定的结构,可以对其进行分解、提取和加工。那种感觉,大概就像在外科医生眼里,病人已经不再浑然一体,而是一个各个组织有机结合形成的系统。学习正则表达式让我明白了,打印信息也是有学问的,要巧妙地设计布局,使得输出信息方便地被正则表达式处理,这样可以使很多工作自动化,减少工作中的负担。

除了Perl之外,还有很多程序支持正则表达式,emacs就是其中一个。在了解正则表达式之前,我几乎没有用过任何涉及到这方面内容的功能,后来才发现,我忽略的,是一座宝藏。

书还没有读完,学习更要继续,今后要多加实践,而且打算在熟练运用的基础上再看几种正则表达式处理引擎的程序,加深理解。

oracle的正则表达式(regular expression)简单介绍

正则表达式只是搜索,替换,格式化等功能,格式化一般用后向引用,没有计算length和concatenate(连接串联)的。    答案:CDE 要想详细了Oracle正则表达式,具体看附件。 O...
  • haiross
  • haiross
  • 2014年12月17日 17:26
  • 1538

正则表达式(regular expression)以及常用语法

正则表达式(regular expression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。...
  • WSYW126
  • WSYW126
  • 2016年07月26日 18:04
  • 1920

leetcode 10.Regular Expression Matching(正则表达式匹配) 解题思路和方法

Regular Expression Matching Implement regular expression matching with support for '.' and '*'. ...

LeetCode之10 --- Regular Expression Matching

题目:   , Implement regular expression matching with support for '.' and '*'. '.' Matches any sin...

[LeetCode] Regular Expression Matching 解题报告

[题目] mplement regular expression matching with support for ‘.’ and ‘*’. ‘.’ Matches any single ch...

Thinking in java-36 Regular expression正则表达式

1. 什么是正则表达式?部分内容整理自此,了解详细内容可以查看此处。 正则表达式定义了一种字符串查找的模式。 这种字符串search pattern可以是最简单的单字符、某个固定的字符串或者是某种...

正则表达式 regular expression(一)

注:本文内容为摘自Mastering regular expressions(《精通正则表达式》)的笔记 。   1. 正则表达式是一种通用的模式语言(generalized pattern lang...

QTP-13 Regular Expression 正则表达式

QTP-13  Regular Expression Writer : Tarun Lalwani 在QTP自动化项目中,如果运用正则表达式可以让工作效率提高很大。 正则表达式 : 在计算机科学...

leetcode -- Regular Expression Matching -- dp 重点

https://leetcode.com/problems/regular-expression-matching/trick: 如果有两个str list, 考虑用2D dp[i][j]思路1 递归...
  • xyqzki
  • xyqzki
  • 2015年12月22日 15:22
  • 386

LeetCode Regular Expression Matching 极品代码赏析

这个条件很容易忽略,也是最重要的条件了,因为这个相当于*可以把它的前缀字母”吃掉“ 所以也是为什么我们需要“往前看”,看到pattern字符串后一位,假设这个字符串为const char *p; 那...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:工作两年(三)--进入Regular Expression的世界
举报原因:
原因补充:

(最多只允许输入30个字)