77范文网 - 专业文章范例文档资料分享平台

正则表达式经典教程(5)

来源:网络收集 时间:2020-04-20 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

的子表达式。

每个子表达式对应一个Match结果。 Regex Result

(gr[ae]y)+ Graygrey

(gray)+ Gray

(grey)+ Grey

MatchCollection

MatchCollection表示的就是所有的字表达式的Match结果的集合。 可以通过遍历Matchs的集合来访问各个子表达式的Match结果。

For each m as Match in Regex.Matches(?graygrey?, (gr[ae]y)+?) ‘ Use match result here. Next

Group:

每个子表达式默认就是一个组。所以子表达式的所有组的结果都保存在第一个组中,这也是为什么每个Match的结果和第一个Group的结果是一样的,因为它们就是一个。

在.NET中,用括号括起来的子表达式表示这是一个组。 可以通过(?<子表达式>)来显示的给组命名。

比如:

Regex r = new Regex(?(?abc)+?)。就定义了一个组,名字为g1。 在程序中,我们可以通过组命来访问组的匹配结果。 Dim m As Match = r.Match(\Dim g1 As Group = m.Groups(?g1?)

GroupCollection

GroupCollection表示一个Match中Group的集合。 可以通过组命或者索引来访问一个组。 Catpure:

Capture中保存的是每一个子表达式的最小匹配结果,它相当于是原子匹配,比如a匹配a,则结果a就保存在capture中,group的结果只是所的capture结果的组合。

所以如果一个匹配只有一个group,这个group中又只有一个capture,则这个capture的结果就是整个Match的结果。

CaptureCollection Capture的序列。

VBHightDemo

下面介绍一下这个应用正则表达式给VB语法加亮的程序。 这个程序的原理就是根据正则表达式分析每一行字符串,根据匹配结果,把相应的字符的颜色改变。

关键的地方就是拿到组建的正则表达式。

Private VBImports As Regex = New Regex(\

Private QuotedString As Regex = New Regex(\& \& \RegexOptions.Compiled)

Private VBComment As Regex = New Regex(\

Private EmptyLine As Regex = New Regex(\ Private VBRegion As Regex = New Regex(\region){1}\RegexOptions.Compiled)

'-- use lookbehind, keywords can not follow by a '.' or a characotr Dim aa As String = \ &

\

& \ &

\

& \_

& \ &

\

& \

& \ & \ &

\

& \ & \

Private VBKeyWords As Regex = New Regex(aa, RegexOptions.Compiled)

Private SystemKeyWords As Regex = New Regex(\RegexOptions.Compiled) Private Brackets As Regex = New Regex(\RegexOptions.Compiled)

在匹配的时候,可以给指定匹配的选项,比如忽略大小写,单行还是多行等等。 然后遍历并加亮匹配的结果就可以了。

For Each m As Match In regex.Matches(s)

Me.ColorString(start + m.Groups(0).Index, m.Groups(0).Length, color) Next

因为组中保存的就是所有capture的组合的结果,所以只加亮groups(0)中的字符串就够了,不需要再重复处理group中captures的值。

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库正则表达式经典教程(5)在线全文阅读。

正则表达式经典教程(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/1000313.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: