zoukankan      html  css  js  c++  java
  • C#操作正则表达式(入门)

    正则表达式在英文中写作(Regular Expression),根据正则表达式的使用范围和单词意思,.NET将其命名空间设置为System.Text.RegularExpressions

        在该命名空间内包括了8个基本的类:CaptureCaptureCollectionGroupGroupCollectionMatchMatchCollectionRegexRegexCompilationInfo

    Capture

    用于单个表达式捕获结果

    CaptureCollection

    用于一个序列进行字符串捕获

    Group

    表示单个捕获的结果

    GroupCollection

    表示捕获组的集会

    Match

    表示匹配单个正则表达式结果

    MatchCollection

    表示通过迭代方式应用正则表达式到字符串中

    Regex

    表示不可变的正则表达式

    RegexCompilationInfo

    将编译正则表达式需要提供信息

    [注意]本文属于初学正则表达式的入门文章,对于高级的分组(Group)及其涉及语法等在这里不做介绍

    构造正则表达的方法

    构造正则表达式需要涉及Regex类,在Regex类中包括:IsMatch()Replace()Split()Match的类

    (1) IsMatch()方法;

        IsMatch()方法实际上是一个返回Bool值得方法,如果测试字符满足正则表达式返回True否则返回False

    View Code
     1 static void Main(string[] args)
    2 {
    3 string str = Console.ReadLine();
    4
    5 string strRegex="^152\\d{8}$";
    6
    7 if (Regex.IsMatch(str, strRegex))
    8 {
    9 Console.WriteLine("格式正确:{0}", str);
    10 }
    11 else
    12 {
    13 Console.WriteLine("格式错误!");
    14 }
    15 Console.ReadKey();
    16 }

    (2) Replace()方法;

        Replace()方法实际上是一种替换的方法,替换匹配正则表达式匹配模式;

    View Code
     1 string strRegex="\\w{1,}@\\w{1,}\\.\\w{1,}";
    2
    3 string str = Console.ReadLine();
    4
    5 if (Regex.IsMatch(str, strRegex))
    6 {
    7 Console.WriteLine(Regex.Replace(str, "@", "AT"));
    8 }
    9 else
    10 {
    11 Console.WriteLine("格式错误");
    12 }

     

    (3) Split()方法;

        Split()方法实际上是拆分的方法,根据匹配正则表达式进行拆分储存在字符串数组中;

        eg:群发电子邮件的时候使用

    构建表达式基本方法

        构造Regex对象的构造函数包括两个重载,一个是不含参数的构造、另外一个是含有参数的构造函数;

      • 基本形式Regex(string pattern);

      • 重载形式Regex(string pattern,RegexOptions)

        补充:RegexOptions属于枚举类型,包括IgnoreCase(忽略大小写)ReghtToLeft(从右向左)None(默认)、CultureInvariant(忽略区域)Multline(多行模式)SingleLine(单行模式);

  • 相关阅读:
    HDU 4947 GCD Array 容斥原理+树状数组
    Codeforces Round #363 (Div. 2)
    白书 博弈学习
    2016 Multi-University Training Contest 1
    KM算法 PK 最小费用最大流
    final 发布 领跑衫获奖感想
    2016"百度之星"
    爆打团队 2016.05.05 站立会议
    爆打团队 四则运算 beta视频
    爆打团队 2016.04.27 站立会议
  • 原文地址:https://www.cnblogs.com/xiaohuzi1990/p/2158245.html
Copyright © 2011-2022 走看看