zoukankan      html  css  js  c++  java
  • 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方法返回的集合是否为空。


  • 相关阅读:
    Blank page instead of the SharePoint Central Administration site
    BizTalk 2010 BAM Configure
    Use ODBA with Visio 2007
    Handling SOAP Exceptions in BizTalk Orchestrations
    BizTalk与WebMethods之间的EDI交换
    Append messages in BizTalk
    FTP protocol commands
    Using Dynamic Maps in BizTalk(From CodeProject)
    Synchronous To Asynchronous Flows Without An Orchestration的简单实现
    WSE3 and "Action for ultimate recipient is required but not present in the message."
  • 原文地址:https://www.cnblogs.com/wenxinxiaowu/p/3402108.html
Copyright © 2011-2022 走看看