在C#开发中,处理文本数据是常见任务。无论是验证用户输入、提取信息还是替换内容,C#正则表达式都是一个强大而高效的工具。本教程将带你从零开始掌握正则表达式基础语法,即使你是编程小白,也能轻松上手!
正则表达式(Regular Expression,简称 Regex)是一种用于匹配字符串的模式。它由一系列字符和特殊符号组成,可以用来搜索、替换或验证文本。
C#通过 System.Text.RegularExpressions 命名空间提供对正则表达式的支持。最常用的类是 Regex。
using System;using System.Text.RegularExpressions;class Program{ static void Main() { string input = "我的邮箱是 user@example.com,请联系我!"; string pattern = @"\w+@\w+\.\w+"; // 使用 Regex.IsMatch 判断是否匹配 bool isMatch = Regex.IsMatch(input, pattern); Console.WriteLine($"是否包含邮箱:{isMatch}"); // 输出:True // 使用 Regex.Match 获取匹配结果 Match match = Regex.Match(input, pattern); if (match.Success) { Console.WriteLine($"找到邮箱:{match.Value}"); // 输出:user@example.com } }} 掌握以下常用符号,你就掌握了C#字符串匹配的核心:
.:匹配任意单个字符(除换行符)\d:匹配任意数字(等价于 [0-9]) \w:匹配字母、数字或下划线(等价于 [a-zA-Z0-9_])\s:匹配空白字符(空格、制表符、换行等)*:前面的元素出现0次或多次+:前面的元素出现1次或多次?:前面的元素出现0次或1次{n}:前面的元素恰好出现n次[abc]:匹配 a、b 或 c 中的任意一个[^abc]:不匹配 a、b 或 c^:匹配字符串开头$:匹配字符串结尾在C#中,反斜杠 \ 是转义字符。为了避免混淆,建议使用逐字字符串(verbatim string),即在字符串前加 @ 符号:
// 不推荐:需要双反斜杠string pattern1 = "\\d+";// 推荐:使用 @ 符号,更清晰string pattern2 = @"\d+"; string phonePattern = @"^1[3-9]\d{9}$";bool isValid = Regex.IsMatch("13812345678", phonePattern); // true string text = "访问 https://www.example.com 或 http://test.org 获取更多信息";string urlPattern = @"https?://[\w\.-]+";foreach (Match m in Regex.Matches(text, urlPattern)){ Console.WriteLine(m.Value);}// 输出:// https://www.example.com// http://test.org 正则表达式写错很常见。建议使用在线工具(如 regex101.com)测试你的模式,再粘贴到C#代码中。同时,给复杂正则添加注释,提高可读性。
通过本篇正则表达式入门教程,你已经掌握了C#中正则表达式的基本语法和常用技巧。记住:多练习是掌握正则的关键!尝试用它解决实际问题,比如日志分析、数据清洗或表单验证,你会发现它是一个不可或缺的利器。
提示:本文涵盖的 C#正则表达式、正则表达式基础语法、C#字符串匹配 和 正则表达式入门教程 是开发者必须掌握的核心技能。
本文由主机测评网于2025-12-14发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025127793.html