新闻中心

C#怎么进行正则表达式匹配 C# Regex类的使用方法

2025-12-02
浏览次数:
返回列表
C#中正则匹配依赖System.Text.RegularExpressions.Regex类,常用方法包括IsMatch判断匹配、Match/Matches提取结果、Replace替换、Split分割,支持选项设置与常见格式验证。

c#怎么进行正则表达式匹配 c# regex类的使用方法

在C#中进行正则表达式匹配主要依靠 System.Text.RegularExpressions.Regex 类。这个类提供了丰富的静态和实例方法,可以用来验证、查找、替换和分割字符串。下面介绍常用用法和典型场景。

1. 引入命名空间

使用正则前,确保引入命名空间:
using System.Text.RegularExpressions;

2. 基本匹配:判断是否匹配

使用 Regex.IsMatch 方法判断一个字符串是否符合某个正则模式。

// 检查是否为手机号
string pattern = @"^1[3-9]\d{9}$";
bool result = Regex.IsMatch("13812345678", pattern);
Console.WriteLine(result); // 输出 True

3. 提取匹配内容:获取匹配结果

使用 Regex.Match 获取第一个匹配项,或用 Regex.Matches 获取所有匹配。

string text = "我的电话是13812345678,备用号是15987654321";
string pattern = @"1[3-9]\d{9}";

Match match = Regex.Match(text, pattern);
while (match.Success)
{
    Console.WriteLine(match.Value); // 输出:13812345678 和 15987654321
    match = match.NextMatch();
}

4. 替换字符串

使用 Regex.Replace 将匹配的内容替换为指定字符串。

string text = "用户名:admin,邮箱:admin@example.com";
string sensitivePattern = @"\b\w+@[\w.]+\b";

string result = Regex.Replace(text, sensitivePattern, "[已隐藏]");
Console.WriteLine(result); // 输出:用户名:admin,邮箱:[已隐藏]

5. 分割字符串

使用 Regex.Split 按正则规则拆分字符串。

GoEnhance GoEnhance

全能AI视频制作平台:通过GoEnhance AI让视频创作变得比以往任何时候都更简单。

GoEnhance 347 查看详情 GoEnhance
string input = "apple, banana; orange | grape";
string[] parts = Regex.Split(input, @"[,;|\s]+");
foreach (string part in parts)
{
    if (!string.IsNullOrWhiteSpace(part))
        Console.WriteLine(part);
}
// 输出:apple, banana, orange, grape

6. 使用选项(如忽略大小写)

通过 RegexOptions 枚举设置匹配选项。

string text = "Hello World HELLO C#";
string pattern = @"hello";
MatchCollection matches = Regex.Matches(text, pattern, RegexOptions.IgnoreCase);

Console.WriteLine(matches.Count); // 输出 2

7. 验证输入格式的常见例子

  • 邮箱验证: @"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"
  • 身份证号: @"^\d{17}[\dXx]$"
  • URL: @"^https?://.+$"

实际开发中建议根据业务需求调整正则复杂度,避免过度匹配或性能问题。

基本上就这些。掌握 IsMatch、Match、Matches、Replace 和 Split 这几个核心方法,配合合适的正则表达式,就能解决大多数文本处理问题。

以上就是C#怎么进行正则表达式匹配 C# Regex类的使用方法的详细内容,更多请关注其它相关文章!


# 中文网  # 政府网站建设讨论交流  # 衢州关键词排名公司  # 营销推广原则  # 铜陵网站推广企业名单  # 关键词排名加拉nj1343溦信  # 西湖区网站品牌推广平台  # 海底捞网站建设规划  # 武清区推广网站搭建中心  # 校园网站建设总部  # 网站建设记在哪个科目  # 解决问题  # 正则表达式  # 相关文章  # 就能  # 第一个  # 什么用  # 高性能  # 之道  # 数据结构  # 邮箱  # apple  # app  # c# 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: c++如何实现单例设计模式_c++线程安全的单例模式写法  纯CSS与HTML网格布局的HTML精简策略:SVG与JS方案解析  J*aScript中高效清空DOM列表元素:解决for循环中断与任务管理问题  MAC怎么让Dock栏只显示当前运行的应用_MAC终端命令实现极简Dock栏  如何创建独立于主系统的J*a运行环境_隔离式环境搭建策略  Spring Boot内嵌服务器与J*a EE全栈特性:选择与部署策略  Lar*el的路由模型绑定怎么用_Lar*el Route Model Binding简化控制器逻辑  海棠电脑版入口_通过电脑访问海棠官网阅读  C++如何实现单例模式_C++设计模式之线程安全的单例写法  C++ string find函数返回值npos详解_C++字符串查找失败的判断条件  QQ邮箱登录首页官网地址2026 QQ邮箱官方网页入口  React Router v6 教程:构建认证保护的私有路由与重定向策略  漫画星球免费下拉式入口 漫画星球免费漫画在线阅读网站  CKEditor 5 自定义构建在React应用中渲染失败的调试与解决  没有大陆身份证/银行卡如何实名微信? 亲测有效的几种方法分享  汽水音乐网页版使用入口_汽水音乐电脑版播放指南  Tabulator表格日期时间排序问题及自定义解决方案  J*aScript数据结构转换:将对象数组按类别分组  Win11 USB传输速度慢怎么解决 Win11 USB驱动更新与设置  京东单号查询入口_京东快递订单追踪入口  sublime如何处理大型CSV文件的列对齐_sublime高级表格编辑插件指南  Promise错误处理:在catch后终止链式then执行的策略  Go语言中Map存储的结构体如何调用指针方法:深入解析与实践  AO3最新可访问网址 Archive of Our Own官方在线入口  excel如何生成目录 excel一键生成工作表目录超链接  AO3访问入口汇总 AO3网页版同人作品一键直达  解决J*aScript中重复选择项的确认对话框显示问题  yy漫画网页版官方入口_yy漫画官网登录页面链接  “音游” × “怪文书” 题材的节奏冒险游戏 《晕晕电波症候群》确定于2026年4月发售!  解决Flask中Quill编辑器内容提交失败及TypeError的指南  漫蛙2漫画入口 漫蛙正版网页漫画直达网址  126邮箱账号注册 电脑版登录入口  Python大型XML文件高效流式解析教程  b站怎么删除评论_b站评论管理与删除操作  J*a如何使用AtomicInteger控制计数_J*a无锁计数器性能分析  腾讯视频怎么使用多账号家庭管理_腾讯视频家庭多账号统一管理与权限分配教程  蛙漫2台版漫画地址 Manwa2正版网页版链接  c++如何使用Meson构建系统_c++比CMake更快的构建工具  QQ邮箱登录平台入口 QQ邮箱网页版邮箱官方入口  SteamMachine定价或为699美元 大家想入手吗?  C++ vector二维数组定义_C++ vector of vector用法  React/Next.js中实现列表项的动态移动与状态管理:兼论唯一键的重要性  LINUX的perf命令入门_LINUX官方性能分析工具的使用与解读  Windows10怎么开启夜间模式 Windows10系统设置调整色温与亮度缓解夜间用眼疲劳【教程】  如何将HTML表格多行数据保存到Google Sheets  sublime如何配置Python开发环境_将sublime打造成轻量级Python IDE  虫虫漫画精品漫画官网_虫虫漫画精品漫画官网进入精品漫画  谷歌浏览器怎么给标签页静音_Chrome标签静音快捷操作  处理Kafka消费者会话超时:深入理解消息处理语义与幂等性  消息称三星明年 2 月正式发布 HBM4,与 SK 海力士同台竞技 

搜索