Using Regular Expressions
Using Regular Expressions
Jason Xu
Jason Xu
2006/9/13
2006/9/13
http://www.Mcan.cn
http://www.Mcan.cn
Lecture Goal
•
熟悉 Regex 的基本语法
•
了解高级概念
•
如何构建、如何使用
•
了解在 C# 、 JavaScript 中的完整实现
•
相关技巧
•
资料分享
•
方式:理论 (20%)+ 实践 (80%)
Agenda
•
Introduction
–
Some notes about Regular Expressions
–
Why and when to use Regular Expressions
•
Basic Grammar
–
Match characters
–
Set match position
–
Replace 、 Repeated characters
–
Other Characters
•
Senior Concept
–
Matching Patterns
–
Group 、 Replace 、 Reverse quote
–
Priority level order
–
Methods 、 Ideas for building Regular Expressions
•
Examples Analysis
–
……
•
Additional Matters
–
Experience & Skills
–
Recommend for learning
•
Q&A
Introduction
Some notes about Regular Expressions
Some notes about Regular
Expressions
•
起源
–
最早从 Unix 中的 qed 编辑器,并作为文本编辑和搜索工具中一
个重要部分直到现在,属于 Unix 下专利,尤其是 Perl 中应用, N
ET 中 Regex 从 Perl 中衍生而来
•
简单定义?
–
简写为 Regexes ,描述了一种字符串匹配的模式,检查一个串是
否含有某种子串、将匹配的子串做替换或者从某个串中取出符合
某个条件的子串等。也即是一串特殊的字符,转换为某种算法,
根据这个算法来匹配文本 ( 类似通配符、 SQL 中的 % 、词法语法
分析 ) 。
•
字符串、文本处理相关
–
VS 、 Delphi 、 Java 、 JavaScript etc 等工具、语言中对 string
的操作也都是最主要的方面,文本的操作也几乎无处不在,在考
虑效率、性能时,正则的选择是很有必要的
•
复杂度、可读性?
–
Regexes 有自己的简单语言,用于精确描述要匹配对象,一行表
达式代替众多的编码,但创建复杂,含义含糊,可读性差,与 Pe
rl 等成功的语言相同,但习惯后正则表达式将非常容易使用。