黑马程序员--正则表达式

Windows Phone 7手机开发.Net培训期待与您交流!

正则表达式语言是一种专门用于字符串处理的语言。它包含两个功能:

       一组用于标识字符类型的转义代码。您可能很熟悉DOS表达式中的*字符表示任意子字符串(例如,DOS命令Dir Re*会列出所有名称以Re开头的文件)。正则表达式使用与*类似的许多序列来表示“任意一个字符”、“一个单词”、“一个可选的字符”等。

       一个系统。在搜索操作中,它把子字符串和中间结果的各个部分组合起来。

使用正则表达式,可以对字符串执行许多复杂而高级的操作,例如:

       区分(可以是标记或删除)字符串中所有重复的单词,例如,把The computer books books转换为The computer books

       把所有单词都转换为标题格式,例如把this is a Title转换为This Is A Title

       把长于3个字符的所有单词都转换为标题格式,例如把this is a Title转换为This is a Title

       确保句子有正确的大写形式。

       区分URI的各个元素(例如http://www.wrox.com,提取出协议、计算机名、文件名等)

正则表达式字符串初看起来像是一般的字符串,但其中包含了转义序列和有特定含义的其他字符。例如,序列\b表示一个字的开头和结尾(字的边界),如果要表示正在查找以字符th开头的字,就可以编写正则表达式\bth(即序列字边界是– t – h)。如果要搜索所有以th结尾的字,就可以编写th\b(序列t – h–字边界)。但是,正则表达式要比这复杂得多,例如,可以在搜索操作中找到存储部分文本的工具性程序。本节仅介绍正则表达式的功能。

假定应用程序需要把US电话号码转换为国际格式。在美国,电话号码的格式为314-123-1234,常常写作(314)123-1234。在把这个国家格式转换为国际格式时,必须在电话号码的前面加上+1(美国的国家代码),并给区号加上括号:+1(314) 123-1234。在查找和替换时,这并不复杂,但如果要使用String类完成这个转换,就需要编写一些代码(这表示,必须使用System.String上的方法来编写代码),而正则表达式语言可以构造一个短的字符串来表达上述含义。

正则表达式的一个很好的特性是可以把字符组合起来,其方式与C#中的复合语句一样。在C#中,可以把任意数量的语句放在花括号中,把它们组合在一起。其结果就像一个复合语句那样。在正则表达式模式中,也可以把任何字符组合起来(包括元字符和转义序列),像处理一个字符那样处理它们。唯一的区别是要使用圆括号,而不是花括号,得到的序列称为一个组。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值