关于c#.net 正则表达式 学习笔记

一、System.Text.RegularExpression命名空间
1、 Regex类可以用来创建正则表达式,还提供了许多方法。
如:Regex.Replace(string input,String pattern,string replacement);
-------RegexOption枚举
IgnoreCase 忽略大小写。默认情况区分大小写
RightToLeft 从右到左查找输入字符串。
None 不设定标志。
MiltiLine 指定^与$可以匹配行的开头和结尾,以及字符串的开头和结尾。
SingleLine 规定特殊字符“.”匹配任一字符。换行符除外。
例:RegexOptions.IgnoreCase
Regex.IsMatch(Mystring,"YWSM",RegexOptions.IgnoreCase |RegexOptions.RightToLeft):
-------(两个主要的)类构造函数
Regex(string  pattern);
Regex(string  pattern , RegexOption options);
例:匹配YWSM: 
static void Main(string[] args)
{  Regex myRegex=new Regex("YWSM");
    System.Console.WriteLine(myregex.IsMatch("The first three letters of "+"the alphabet are YWSM"));   }
输出:True如需设置区分大小写可用
Regex myRegex=new Regex("YWSM",RegexOption.IgnoreCase);
-------IsMatch( )方法
该方法可以测试字符串,看它是否匹配正则表达式的模式。如果发现了一次匹配,返回True,否则为False。IsMatch( )有一个静态的重载方法,使用它时可以无需显式创建一个Regex对象。

重载形式:
public bool Regex.IsMatch(string input );
public bool Regex.IsMatch(string input,int startat);
public static bool Regex.IsMatch(string input,string pattern);
public static bool Regex.IsMatch(string input,string pattern,RegexOption options);

input: 指定了包含将检索的文本的字符串。
sartat: 指定了搜索的起始字符位置。
pttern: 指定将匹配的样式。
options: 匹配行为的选项。

例:string inputstring="Welcome to the ywicc,ywsmxy!";
    if ( Regex.IsMatch( inputstring,"ywicc",RegexOptions.IgnoreCase) )
          Console.WriteLine("Match Found");
    Else
          Console.WriteLine(" No Match Found");
------Replace( )方法  
用指定的字符串代替一个匹配模式。
 ---基本方法有:
public static string Regex.Replace(string input,string pattern,string replacement);
public static string Regex.Replace(string input,string pattern,string replacement,RegexOption options);
例:用"AAA"替换"BBB"的所有实例代码:
string inputstring="Welcome to the AAA!";
inputstring=Regex.Replace(inputstring,"BBB","AAA");
Console.WriteLine(inputstring);
----非静态方法,可以指定替换次数的最大值以及开始下标:
Public string Replace(string input,string replacement);
Public string Replace(string input,string replacement,int count);
Public string Replace(string input,string replacement,int count,int startat);
例:使用XXX替换456之后的123,最多替换两次,代码如下:
string inputstring="123,456,123,123,123,789,333";
Regex regexp=new Regex("123");
Inputstring=regexp.Replace(inputstring,"XXX",2,4)
Console.WriteLine(inputstring);
输出:123,456,XXX,XXX,123,789,333
-------Split( )方法
在每次发现匹配的位置拆分字符串。返回一个字符串数组。
using System;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
class mysplit
{
    static void Main(string[ ] args)
   {
       string inputstring="123,456,789,ads";
       string[ ] splitResults;
       splitresults=Regex.Split(inputstring,",");
       StringBuilder resultsstring=new StringBuilder(32);
       foreach(string stringelement in splitresults)
      {
           resultsstring.Append(stringelement+"\n");
      }
      MessageBox.Show(resultsString.ToString( ));
    }
}    

123     <==结果
456
789
ads

原文地址:https://www.cnblogs.com/zhangsir/p/955937.html