C#中的正则匹配

命名空间

System.Text.RegularExpressions

常用方法

Regex.IsMatch

public bool IsMatch (string input, string pattern);
在input中是否存在pattern的匹配项。

Regex.Match

public static System.Text.RegularExpressions.Match Match (string input, string pattern);

获取第一个匹配项。在Match的Value中可获取该项的内容。

Regex.Matches

public static System.Text.RegularExpressions.MatchCollection Matches (string input, string pattern);

获取所有匹配项

示例

using System;
using System.Text.RegularExpressions;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] testStrs = new string[]
            {
                "123从打abv1234",
                "的1234大师565",
                "什啊39582的23923的",
                "12324的啊是124"
            };
            
            string pattern = "[0-9]{3}";
            foreach (var str in testStrs)
            {
                if (Regex.IsMatch(str, pattern))
                { 
                    Match match = Regex.Match(str, pattern);
                    string result = match.Value;
                    Console.WriteLine(string.Format("{0}  只取匹配到的第一项:{1}", str, result));

                    MatchCollection matches = Regex.Matches(str, pattern);
                    Console.WriteLine(string.Format("{0}  共匹配到 {1} 项。", str, matches.Count));
                    for (var i = 0; i < matches.Count; i++)
                    {
                        Console.WriteLine(string.Format("第{0}项:{1}。", i, matches[i].Value));
                    }
                    Console.WriteLine("……");
                }
            }
        }
    }
}
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。