• C#使用正则表达式


    下面就来研究C#中的正则表达式,C#中的正则表达式包含在.NET基础雷库的一个名称空间下,这个名称空间就是System.Text.RegularExpressions。该名称空间包括8个类,1个枚举,1个委托。他们分别是:
                         Capture: 包含一次匹配的结果; 
                         CaptureCollection: Capture的序列; 
                         Group: 一次组记录的结果,由Capture继承而来; 
                         GroupCollection:表示捕获组的集合
                         Match: 一次表达式的匹配结果,由Group继承而来; 
                         MatchCollection: Match的一个序列; 
                         MatchEvaluator: 执行替换操作时使用的委托; 
                         Regex:编译后的表达式的实例。 
                         RegexCompilationInfo:提供编译器用于将正则表达式编译为独立程序集的信息
                         RegexOptions 提供用于设置正则表达式的枚举值
    Regex类中还包含一些静态的方法: 
                        Escape: 对字符串中的regex中的转义符进行转义; 
                        IsMatch: 如果表达式在字符串中匹配,该方法返回一个布尔值; 
                        Match: 返回Match的实例; 
                        Matches: 返回一系列的Match的方法; 
                        Replace: 用替换字符串替换匹配的表达式; 
                        Split: 返回一系列由表达式决定的字符串; 
                        Unescape:不对字符串中的转义字符转义。
    首先从使用Regex、Match类的简单表达式开始学习:

    Code

    IsMatch方法指示 Regex 构造函数中指定的正则表达式在输入字符串中是否找到匹配项。这是我们使用C#正则表达式时最常用的方法之一。下面的例子说明了IsMatch方法的使用:

    Code

    Split方法是把由正则表达式匹配项定义的位置将输入字符串拆分为一个子字符串数组。例如:

    Code

    执行的结果是:
    First
    Second
    Third

    看上去和String的Split方法一样,但string的Split方法在由正则表达式而不是一组字符确定的分隔符处拆分字符串。

    Match方法是在输入字符串中搜索正则表达式的匹配项,并Regex 类的 Match 方法返回 Match 对象,Match 类表示正则表达式匹配操作的结果。下面的例子演示Match方法的使用,并利用Match对象的Group属性返回Group对象:

    Code

    该事例运行结果是:
    Match1
    Group1='public'
    Capture0='public', Position=0
    Group2='string'
    Capture0='string', Position=7
    Match2
    Group1='testMatchObj'
    Capture0='testMatchObj', Position=14
    Group2='string'
    Capture0='string', Position=27
    Match3
    Group1='s'
    Capture0='s', Position=34
    Group2='string'
    Capture0='string', Position=36

  • 相关阅读:
    on duplicate key update之多列唯一索引
    js 判断 微信浏览器 安卓/苹果 pc/移动
    history 和 hash (转)
    路由vue-router
    添加图标ico
    vue项目结构
    vue2.0项目的构建
    echarts使用 图例改变和默认不选中
    微信自定义菜单设置 及 emoji表情更换
    复制/设置剪切板内容 (浏览器/nativejs)
  • 原文地址:https://www.cnblogs.com/engine1984/p/1286576.html
Copyright © 2020-2023  润新知