- 2
- 0
- 约1.34万字
- 约 24页
- 2020-04-09 发布于广东
- 举报
NET下正则使用基础
概述
匹配模式指的是一些可以改变」[侧表达式匹配行为的选项或修饰符。不同的语言支持的匹配 模式不同,使用的方式也不同。
一般可分为全局和内联两种。下面主要介绍.NET屮的匹配模式,其它语言的匹配模式, 后续视情况补充。
匹配模式
全局匹配模式和内联匹配模式概述
.NET中的全局匹配模式是通过RegexOptions枚举值指定的,可以按位“或”进行组合, 全局匹祀模式只能作用于整个正则表达式。全局匹配模式提供的模式更多,可以灵活的动态 指定匹配模式。
而内联匹配模式是通过在疋则表达式中,使用(?imnsx-imnsx:)或(?imnsx-imnsx)的分组构 造来改变正则表达式的匹配行为的。内联匹配模式更灵活、简洁,但是提供的模式较少。
下表摘口 MSDN ,部分说明做了修改。
RegexOption 成员
内联字符
说明
None
N/A
指定不设置任何选项。
IgnorcCasc
■
1
指定不区分人小写的匹配。
Multiline
m
指定多行模式。更改人和$的含义,以使它们分别与任何行的开头和结尾匹配,而不只 是与整个字符串的开头和结尾匹配。
ExplicitCapture
n
指定唯一有效的捕获是显式命名或编号的(? name ???)形式的组。这允许圆括号充当非 捕获纽,从而避免了由(?:-)导致的语法上的笨拙。
Compiled
N/A
指定正则表达式将被编译为程序集。生成该正则表达式的Microsoft中间语言(MSIL)代 码;以较长的启动时间为代价,得到更快的执行速度。
Singlclinc
s
指定单行模式。更改句点字符(.)的含义,以使它与每个字符(而不是除\n之外的所有 字符)匹配。
IgnorcPattcm Whitespace
x
指定从模式屮排除非转义空口并启川数字符号(#)后面的注释。请注意,空口永远不会从 字符类中消除。
RightToLeft
N/A
指定搜索是从右向左而不是从左向右进行的。具有此选项的正则表达式将移动到起始位置 的左边而不是右边。
ECMAScript
N/A
指定已为表达式启用了符合ECMAScript的彳亍为。此选项仅与IgnoreCase和Multiline 标志一起使用。将ECMAScript同任何其他标志一起使用将导致异常。
Culturclnvariant
N/A
指定忽略语言中的区域性差界。
全局匹配模式
卜?血根据各种模式使用的频率进行讲解。
2.2.1 IgnoreCase忽略人小写
儿乎所冇支持正则的语言中都提供了这一模式,是应用蝕多的模式z—,同时也是被“滥” 用最多的模式之一。
开启忽略大小写模式,则字符可以同时匹配大写或小写形式。比如在此模式下,.正则表达式 “ br ”可同时匹配“ br ”和“ vBR ”
但并不是所有的字符都有大小写形式,所以在书写的正则中,如果不存在可区分大小写形式 的元字符或是字符序列时,开启这一模式是没有任何意义的。
比如替换一般的html标签的正则表达式
string result = Regex .Replace(srcStr, @n[A]*H,HU , RegexOptions .IgnoreCase);
因为ri*没有哪一个元字符或是字符序列具有人小写形式,所以这里的 RegexOptions .IgnoreCase是多余的,用在这里虽然不会改变匹配结果,但是会降低匹配效 率,同吋这也不是一个好的习惯。
只有在正则表达式屮,注意是正则表达式中,而不是待匹配的源字符串中,涉及到大小写形 式的元字符或是字符序列时,才使用IgnoreCase模式。
Multiline 多行模式
多行模式改变的是“八”和“ $ ”的匹配行为,使“人”和“ $ ”不仅可以匹配整个字 符串的开始和结束位宜,还可以匹配每行的开始和结束位置。
首先说明一下“行”的范围。虽然我们在程序中习惯用“ \r\n ”来表示换行,但实际上“ \r ” 和“ \n ”是不相关的两个字符,一个表示回车,一个表示换行。由于历史原因,“ \「”并 不是所有系统都支持的,所以“行”是由“ \n ”來分割的,英中“ \n ”属于前一 “行”, 而不属于后一 “行”。
举例来说,字符串“ a\r\nbc\r\n ”共冇三行,“ a\r\n ”为一行,“ bc\r\n ”为一行,最后 还有一个“”空行。
在不开启多行模式情况卜?,“八”和“ $ ”匹配范围
“八”的匹配范围
MatchCollection me = Regex .Matchcs(a\r\nbc\r\n, @AU );
foreach (Match ni in me)
richTextBox2.Text +=匹配内容:+ m.Value + H 匹配开始索引:” + m.Index
您可能关注的文档
最近下载
- 玻璃制造技术-薄玻璃退火存在的问题及注意事项(图文).pdf VIP
- 2025年水路运输年终工作总结.docx VIP
- 2025中国(辽宁)自由贸易试验区大连片区(大连保税区)面向国内外公开招聘笔试历年参考题库附带答案详解.pdf
- 邹仲之《组织学与胚胎学》4血液.ppt VIP
- 2025年水路运输工作总结和2026年工作计划.docx VIP
- ams抗菌药物管理课件.pptx VIP
- 传染病流行病学调查规范.docx VIP
- 砀山经济开发区市政道路工程(1-3标段)砀山经济开发区市政道路工程(1-3标段).doc VIP
- 2025年企业云会计在医药行业的应用与合规性报告.docx VIP
- 国网风区分布图(2024年版)上册.pdf VIP
原创力文档

文档评论(0)