当前位置: 首页 > news >正文

C#中正则表达式

在C#中,正则表达式由 System.Text.RegularExpressions 命名空间提供,可以使用 Regex 类来处理正则表达式。以下是一些常见的用法及示例。

C# 中使用正则表达式的步骤:

  1. 引入命名空间

     
    using System.Text.RegularExpressions;

  2. 创建正则表达式对象

    var regex = new Regex(pattern);
  3. 使用方法

    • Match():查找字符串中第一个匹配项。
    • Matches():查找字符串中所有匹配项。
    • Replace():替换匹配的字符串。
    • IsMatch():检查字符串是否匹配。

常见的正则表达式示例:

1. 匹配电子邮件地址
 
string emailPattern = @"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$";

2. 匹配电话号码(格式:123-456-7890)
 
string phonePattern = @"^\d{3}-\d{3}-\d{4}$";

3. 匹配IPv4地址
 
string ipPattern = @"^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$";

4. 匹配日期格式(YYYY-MM-DD)
 
string datePattern = @"^\d{4}-\d{2}-\d{2}$";

5. 匹配时间格式(HH:MM:SS)
 
string timePattern = @"^(0?[0-9]|1[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?$";

6. 匹配中文字符
 
string chinesePattern = @"[\u4e00-\u9fa5]+";

7. 匹配邮政编码(6位数字)
 
string postalCodePattern = @"^\d{6}$";

C# 示例代码:

以下是一个完整的C#示例,展示如何使用正则表达式来验证电子邮件、电话号码和日期。

using System;  
using System.Text.RegularExpressions;  class Program  
{  static void Main()  {  string email = "example@example.com";  string phone = "123-456-7890";  string date = "2023-10-05";  // 验证电子邮件  string emailPattern = @"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$";  if (Regex.IsMatch(email, emailPattern))  {  Console.WriteLine("有效的电子邮件地址");  }  else  {  Console.WriteLine("无效的电子邮件地址");  }  // 验证电话号码  string phonePattern = @"^\d{3}-\d{3}-\d{4}$";  if (Regex.IsMatch(phone, phonePattern))  {  Console.WriteLine("有效的电话号码");  }  else  {  Console.WriteLine("无效的电话号码");  }  // 验证日期  string datePattern = @"^\d{4}-\d{2}-\d{2}$";  if (Regex.IsMatch(date, datePattern))  {  Console.WriteLine("有效的日期格式");  }  else  {  Console.WriteLine("无效的日期格式");  }  }  
}

注意事项:

  • 在模式字符串前加 @ 表示原始字符串,因此可以避免转义字符的复杂性。
  • C# 的 Regex 类也支持许多选项(如大小写敏感、单行多行模式等),可以在创建 Regex 对象时指定。
  • 了解正则表达式的执行效率也很重要,特别是在大文本数据上使用时。复杂的模式可能会导致性能问题。

相关文章:

C#中正则表达式

在C#中,正则表达式由 System.Text.RegularExpressions 命名空间提供,可以使用 Regex 类来处理正则表达式。以下是一些常见的用法及示例。 C# 中使用正则表达式的步骤: 引入命名空间: using System.Text.RegularExpressions; 创…...

【python写一个带有界面的计算器】

python写一个带有界面的计算器 为了创建一个带有图形用户界面(GUI)的计算器,我们可以使用Python的tkinter库。tkinter是Python的标准GUI库,它允许我们创建窗口、按钮、文本框等GUI元素。 下面是一个简单的带有GUI的计算器示例&a…...

K230获取单摄像头的 3 个通道图像并显示在 HDMI 显示器上

本示例打开摄像头,获取 3 个通道的图像并显示在 HDMI 显示器上。通道 0 采集 1080P 图像,通道 1 和通道 2 采集 VGA 分辨率的图像并叠加在通道 0 的图像上。 # Camera 示例 import time import os import sysfrom media.sensor import * from media.dis…...

nginx中的HTTP 负载均衡

HTTP 负载均衡:如何实现多台服务器的高效分发 为了让流量均匀分配到两台或多台 HTTP 服务器上,我们可以通过 NGINX 的 upstream 代码块实现负载均衡。 方法 在 NGINX 的 HTTP 模块内使用 upstream 代码块对 HTTP 服务器实施负载均衡: upstr…...

package.json 里的 dependencies和devDependencies区别

dependencies&#xff08;依赖的意思&#xff09;&#xff1a; 通过 --save 安装&#xff0c;是需要发布到生产环境的。 比如项目中使用react&#xff0c;那么没有这个包的依赖就会报错&#xff0c;因此把依赖写入dependencies npm install <package-name>// 缩写 np…...

【功能安全】HARA分析中的SEC如何确认

目录 01 SEC介绍 02 SEC怎么定义 📖 推荐阅读 01 SEC介绍 SEC定义 S代表safety,E指的是Exposure,C指的是Controllability ASIL等级就是基于SEC三个参数确定下来的。 计算公式:10=D,9=C,8=B,7=A,<7=QM 举例:S3-C2-E4,即3+2+4=9,ASIL C 02 SEC怎么定义 Safe…...

阿里云Docker镜像源安装Docker的步骤

阿里云 Docker 镜像源安装 Docker 的步骤&#xff1a; 1. 更新包管理器&#xff1a; sudo apt update 2. 安装 Docker 的依赖包&#xff1a; sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release 3. 添加阿里云 Docker 镜像源 GP…...

得一微全资子公司硅格半导体携手广东工业大学,荣获省科学技术奖一等奖

10月17日&#xff0c;全省科技大会在广州召开&#xff0c;会上颁发了2023年度广东省科学技术奖。得一微电子旗下全资子公司深圳市硅格半导体有限公司&#xff08;以下简称“硅格半导体”&#xff09;与广东工业大学&#xff08;以下简称&#xff1a;广工大&#xff09;携手多家…...

@SneakyThrows不合理使用,是真的坑

public static void main(String[] args) {int a 1;int b 2;String result getResult(a, b);System.out.println(result);}SneakyThrowspublic static String getResult(Integer a,Integer b){if (a.equals(b)){return "成功&#xff01;";}else{throw new Interru…...

怎么把ppt页面切换为竖页?首推使用这个在线ppt工具!

熟悉ppt的朋友都知道&#xff0c;最常见的ppt演示文稿为横版样式&#xff0c;且一旦确定了ppt的版式&#xff0c;后续所有页面会保持相同的大小&#xff0c;但有时横版不能满足我们需求&#xff0c;想单独把其中一页或多页变为竖页&#xff0c;Office Powerpoint就无能为力了。…...

【JavaEE】——自定义协议方案、UDP协议

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯 你们的点赞收藏是我前进最大的动力&#xff01;&#xff01; 希望本文内容能够帮助到你&#xff01;&#xff01; 目录 一&#xff1a;自定义协议 1&#xff1a;自定义协议 &#xff08;1&#xff09;交互哪些信息 &…...

python爬虫快速入门之---Scrapy 从入门到包吃包住

python爬虫快速入门之—Scrapy 从入门到包吃包住 文章目录 python爬虫快速入门之---Scrapy 从入门到包吃包住一、scrapy简介1.1、scrapy是什么?1.2、Scrapy 的特点1.3、Scrapy 的主要组件1.4、Scrapy 工作流程1.5、scrapy的安装 二、scrapy项目快速入门2.1、scrapy项目快速创建…...

【Photoshop——肤色变白——曲线】

1. 三通道曲线原理 在使用RGB曲线调整肤色时&#xff0c;你可以通过调整红、绿、蓝三个通道的曲线来实现黄皮肤到白皮肤的转变。 黄皮肤通常含有较多的红色和黄色。通过减少这些颜色的量&#xff0c;可以使肤色看起来更白。 具体步骤如下&#xff1a; 打开图像并创建曲线调…...

[python]从零开始的API调用教程

一、API是什么&#xff1f; API即应用程序编程接口&#xff0c;是一组定义了不同软件系统或组件之间如何交互的规则和协议。API为开发者提供了一种简化的方式&#xff0c;通过预定义的函数或方法&#xff0c;来使用某个软件、库、操作系统或硬件的功能&#xff0c;而不需要深入…...

FFmpeg 怎样根据图片和文本生成视频

使用FFmpeg根据图片和文本生成视频&#xff0c;你可以使用image2过滤器来处理图片&#xff0c;并使用subtitles过滤器来添加文本。以下是一个基本的命令行示例&#xff0c;它将图片转换为视频&#xff0c;并将文本作为字幕叠加&#xff1a; ffmpeg -loop 1 -i image.jpg -vf &…...

paddlepaddle显存未正常释放

NVIDIA GPU 显存未正常释放 问题描述 paddlepaddle 训练过程出现问题中断等导致GPU显存没有释放。 情况1: 使用nvidia-smi -l查看显存占用情况&#xff0c;输出结果中没有显示PID,但是有显存占用。 解决方法 使用killall python 直接kill掉所有python进程。假如运行此命…...

websocket的使用

1.引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></dependency> 2.配置websocket服务 Configuration public class WebSocketConfig {/*** 配置WebSocket服…...

docker如何建立本地私有仓库,并将docker镜像推到私有仓库

在 Docker 中&#xff0c;您可以通过 Docker Registry 创建本地私有仓库&#xff0c;并将 Docker 镜像推送到这个私有仓库。以下是具体步骤&#xff1a; 步骤 1&#xff1a;启动一个本地 Docker 私有仓库 拉取 registry 镜像&#xff1a; Docker 官方提供了一个 registry 镜像…...

vllm启动大语言模型时指定chat_template

问题介绍 在Linux下启动vllm&#xff1a; python3 -m vllm.entrypoints.openai.api_server --host 0.0.0.0 --model /model/Baichuan2-7B-Chat --trust-remote-code --gpu-memory-utilization 0.80使用下面的命令测试出错&#xff1a; curl -X POST \http://127.0.0.1…...

网络相关(HTTP/TCP/UDP/IP)

网络相关 常见的状态码 100 临时响应 100 继续,请求者应当继续提出请求101 切换协议200 成功响应 200: 服务器成功处理请求201 以创建,请求成功并且服务器创建了新的资源202 已接受:服务器已接受请求,但尚未处理203 非授权信息:服务器已成功处理请求,但返回的信息可能来…...

接口隔离原则原理理解

01.前沿简单介绍学习了 SOLID 原则中的单一职责原则、开闭原则和里式替换原则&#xff0c;今天我们学习第四个原则&#xff0c;接口隔离原则。它对应 SOLID 中的英文字母“I”。对于这个原则&#xff0c;最关键就是理解其中“接口”的含义。那针对“接口”&#xff0c;不同的理…...

SDXL-Turbo创作分享:用实时绘画工具生成的精美作品案例

SDXL-Turbo创作分享&#xff1a;用实时绘画工具生成的精美作品案例 1. 引言&#xff1a;实时AI绘画的新纪元 想象一下这样的场景&#xff1a;你正在构思一个赛博朋克风格的城市景观&#xff0c;随着键盘的每一次敲击&#xff0c;眼前的画面实时变化&#xff0c;就像魔术师挥动…...

Qwen3-VL-2B低成本方案:边缘设备部署实战案例分享

Qwen3-VL-2B低成本方案&#xff1a;边缘设备部署实战案例分享 边缘设备也能跑多模态大模型&#xff1f;Qwen3-VL-2B给你答案 1. 项目背景与价值 如果你正在寻找一个既强大又轻量的多模态模型&#xff0c;Qwen3-VL-2B-Instruct绝对值得关注。这是阿里最新开源的视觉-语言模型&a…...

AI辅助开发:让快马AI帮你构思vc16188视频目标识别代码框架

最近在做一个视频分析的小项目&#xff0c;需要实现目标识别功能。作为一个独立开发者&#xff0c;面对复杂的计算机视觉算法确实有点头疼。好在发现了InsCode(快马)平台的AI辅助开发功能&#xff0c;帮我快速搭建起了vc16188视频目标识别的代码框架。这里分享一下我的实现过程…...

RTX 4090D 24G显存适配方案:PyTorch 2.8镜像GPU利用率提升实测分析

RTX 4090D 24G显存适配方案&#xff1a;PyTorch 2.8镜像GPU利用率提升实测分析 1. 开篇&#xff1a;为什么选择RTX 4090D 24G RTX 4090D作为NVIDIA最新一代消费级显卡旗舰&#xff0c;24GB显存容量使其成为大模型训练和推理的理想选择。相比专业级显卡动辄数万的价格&#xf…...

内网穿透技术应用:在本地开发机调试远程GPU服务器模型服务

内网穿透技术应用&#xff1a;在本地开发机调试远程GPU服务器模型服务 你是不是也遇到过这种让人头疼的情况&#xff1f;公司里那台性能强劲的GPU服务器&#xff0c;部署着你心心念念的 cv_resnet101_face-detection 模型服务&#xff0c;但它偏偏在内网里&#xff0c;你的本地…...

千问3.5-2B视觉理解作品分享:电商商品图识别、医疗报告图解析、工业仪表读数案例

千问3.5-2B视觉理解作品分享&#xff1a;电商商品图识别、医疗报告图解析、工业仪表读数案例 1. 视觉理解模型简介 千问3.5-2B是Qwen系列中的小型视觉语言模型&#xff0c;它能够同时理解图片内容和处理自然语言。这个模型最特别的地方在于&#xff0c;你只需要上传一张图片&…...

XXMI启动器:二次元游戏模组统一管理平台完整指南

XXMI启动器&#xff1a;二次元游戏模组统一管理平台完整指南 【免费下载链接】XXMI-Launcher Modding platform for GI, HSR, WW and ZZZ 项目地址: https://gitcode.com/gh_mirrors/xx/XXMI-Launcher 还在为多款二次元游戏模组管理而烦恼吗&#xff1f;XXMI启动器为你提…...

Polar编码在UCI传输中的关键技术与实现细节

1. Polar编码在UCI传输中的核心作用 当我们需要在5G网络的PUSCH信道上传输UCI&#xff08;上行控制信息&#xff09;时&#xff0c;如果信息量超过12比特&#xff0c;Polar编码就成为了标准化的编码方案。这种编码方式之所以被选中&#xff0c;是因为它在短码和中长码场景下都能…...

OFA图像语义蕴含Web应用5分钟部署教程:图文匹配AI一键搭建

OFA图像语义蕴含Web应用5分钟部署教程&#xff1a;图文匹配AI一键搭建 1. 项目简介与核心价值 OFA&#xff08;One For All&#xff09;图像语义蕴含模型是阿里巴巴达摩院研发的多模态深度学习系统&#xff0c;能够智能分析图像内容与文本描述之间的逻辑关系。这个Web应用将强…...