• RegEX正则表达式截取字符串


    输入的字符串:Provider=ASEOLEDB.1;Initial Catalog=big;User ID=sa;Persist Security Info=False;Server Name=192.168.2.168:5000;Character Set=cp850 
    private string SplitCharset(string s, string charset) { Regex rSplit = new Regex(";"); Regex r = new Regex(s); Match m = r.Match(charset); if (m.Success) { MatchCollection mc = rSplit.Matches(charset.Substring(m.Index + s.Length)); if (mc.Count > 0) { return charset.Substring(m.Index + s.Length, mc[0].Index); } else { return charset.Substring(m.Index + s.Length, charset.Length - (m.Index + s.Length)); } } else return ""; }

    使用静态Match方法,可以得到源中第一个匹配模式的连续子串。
    例如:
    Match myMatch = Regex.Match("asdfasdfasdf", @"asdfB");
    Console.WriteLine(myMatch.Value);
    程序将输出asdf(这里匹配了文本中第二个asdf)
    
    
    静态的Match方法有2个重载,分别是
    
    
    Regex.Match(string input, string pattern);
    
    
    Regex.Match(string input, string pattern, RegexOptions options);
    
    
    第一种重载的参数表示:输入、模式
    
    
    第二种重载的参数表示:输入、模式、RegexOptions枚举的“按位或”组合。
    
    
    RegexOptions枚举的有效值是:
    
    
    Complied表示编译此模式
    
    
    CultureInvariant表示不考虑文化背景
    
    
    ECMAScript表示符合ECMAScript,这个值只能和IgnoreCase、Multiline、Complied连用
    
    
    ExplicitCapture表示只保存显式命名的组
    
    
    IgnoreCase表示不区分输入的大小写
    
    
    IgnorePatternWhitespace表示去掉模式中的非转义空白,并启用由#标记的注释
    
    
    Multiline表示多行模式,改变元字符^和$的含义,它们可以匹配行的开头和结尾
    
    
    None表示无设置,此枚举项没有意义
    
    
    RightToLeft表示从右向左扫描、匹配,这时,静态的Match方法返回从右向左的第一个匹配
    
    
    Singleline表示单行模式,改变元字符.的意义,它可以匹配换行符
    
    
    注意:Multiline在没有ECMAScript的情况下,可以和Singleline连用。Singleline和Multiline不互斥,但是和ECMAScript互斥。
    
    

    静态的Matches方法

    
    
    这个方法的重载形式同静态的Match方法,返回一个MatchCollection,表示输入中,匹配模式的匹配的集合。
    
    

    静态的IsMatch方法

    
    
    此方法返回一个bool,重载形式同静态的Matches,若输入中匹配模式,返回true,否则返回false。
    
    
    可以理解为:IsMatch方法,返回Matches方法返回的集合是否为空。


  • 相关阅读:
    小点
    三.一些常用类
    字符串相关:String,StringBuffer,StringBuilder
    五.二叉树
    四.递归
    三.队列
    二.栈
    一.数组,链表
    RDLC 矩阵图片列表排列顺序乱
    RDLC 矩阵每隔一页就有空白页 矩阵 空白页
  • 原文地址:https://www.cnblogs.com/wenxinxiaowu/p/3402108.html
Copyright © 2020-2023  润新知