zoukankan      html  css  js  c++  java
  • 关于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

  • 相关阅读:
    Django REST framework (DRF)框架入门之权限【五】
    Django REST framework (DRF)框架入门之视图【四】
    Django REST framework (DRF)框架入门之序列化---反序列化【二】
    Django REST framework (DRF)框架入门之视图【三】
    Django REST framework (DRF)框架入门之序列化【一】
    Vue实现登录
    Vue--基础2
    Flask--数据库
    Django中orm相关操作
    django的生命周期
  • 原文地址:https://www.cnblogs.com/zhangsir/p/955937.html
Copyright © 2011-2022 走看看