正则习点 --- 01

写在篇首:

--------------------------------------------------------------------------------------

此系列是Mastering Regular Expressions的学习要点!

有兴趣的朋友可以使用邮箱和我沟通!(非常欢迎你的交流)

我的邮箱: veic_2005#163.com(把#替换为@)

------------------------------------------------------------------完美的分割线---

Chapter 1. Introduction to Regular Expressions

正则定义:

l能检查多个文件,挑出包含重复单词的行,高亮标记每个重复单词(using standard ANSI escape sequences), 同时必须显示这行文字来自哪个文件。

l能跨行查找,即使两个单词一个在某行末尾而另一个在下一行的开头,也算重复单词。

l能进行不区分大小写的查找,例如’The the…’,重复单词之间可以出现任意数量的whitespace (spaces, tabs, newlines, and the like)。

l能查找用HTML tag分隔的重复单词。HTML tag用于标记网页上的文本,例如,粗体单词是这样表示的:’…it is <B>very</B> very important…’。

Regularexpressions can add, remove, isolate, and generally fold, spindle, and mutilateall kinds of text and data.

1.1 Solving Real Problems

正则的应用范围:

文本类型的数据。例如,处理E-mail的发件人、标题、正文等等

1.2 Regular Expressions as aLanguage

通配符(wildcards)的理解:

比如,在操作系统的shell中使用的”*”,但是在语言(Perl、Java、VB.NET等等)中称元字符(Meta Characters)

1.3 The Regular-Expression Frame ofMind

工具”egrep”的使用:

Figure1-1. Invoking egrep from the command line

提示:从cygwin系统中拷贝如下文件即可在Windows运行!

序号

文件名

1

cyggcc_s-1.dll

2

cygiconv-2.dll

3

cygintl-8.dll

4

cygwin1.dll

5

egrep.exe

1.4 Egrep Metacharacters

1.4.1 Start and End of the line

a. 开头匹配

^放在匹配字符串之前

b. 结尾匹配

$放在匹配字符串之后

1.4.2 Character classes

1.4.2.1 Matching any one of several characters

i. 正则表达式结构体

「[…]」

中括号中间的字符,是”或(|)”的关系

ii. 字符范围

‘-’连字符,表示数字或者字母的一定范围。

例如,<H[1-6]>等同于<H[123456]>;

[A-Fa-f0-9]等同于[0123456789abcdefABCDEF]

1.4.2.2 Negated character classes

「[^…]」

关于”^”,在字符组外,表示行首锚点(line anchor)。但是在字符组内部(而且必须是紧接在字符组的第一个中括号之后),它就是一个元字符。

1.4.3 Matching Any Character with Dot

元字符「.」是用来匹配任意字符。

但,在中括号([])中表示普通符号,不是元字符。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值