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

c#中的正则表达式和日期的使用(超全)

在 C# 中,正则表达式(Regular Expressions)是一种强大的文本处理工具,用于执行各种字符串搜索、替换和验证任务。以下是一些常用的正则表达式示例及其用途:

1. 邮箱地址验证

​
string emailPattern = @"^[^@\s]+@[^@\s]+\.[^@\s]+$";

2. URL 验证

​
string urlPattern = @"^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$";

3. 电话号码验证(简单示例)

​
string phonePattern = @"^\+?(\d{1,3})?[-. ]?\(?(\d{3})\)?[-. ]?(\d{3})[-. ]?(\d{4})$";

4. 身份证号码验证(中国)

​
string idCardPattern = @"^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}[Xx0-9]$";

5. IP 地址验证

​
string ipPattern = @"^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$";

6. 空白行检测

​
string blankLinePattern = @"^\s*$";

7. 十六进制颜色代码验证

​
string hexColorPattern = @"^#(?:[0-9a-fA-F]{3}){1,2}$";

8. 邮政编码验证(中国)

​
string postalCodePattern = @"^[0-9]{6}$";

9. 只包含字母和数字的字符串验证

​
string alphanumericPattern = @"^[a-zA-Z0-9]+$";

10. 匹配 HTML 标签

​
string htmlTagPattern = @"<(.*)>.*<\/\1>";

使用正则表达式示例

以下是一个使用正则表达式检查字符串是否为有效电子邮件地址的示例:

​
using System;
using System.Text.RegularExpressions;
​
class Program
{static void Main(){string email = "example@example.com";bool isValid = Regex.IsMatch(email, @"^[^@\s]+@[^@\s]+\.[^@\s]+$");Console.WriteLine(isValid ? "Valid email." : "Invalid email.");}
}

datetime

DateTime 类在 C# 中提供了大量的 API 来处理日期和时间。以下是一些常用的 DateTime API:

属性

  • Now: 获取当前本地日期和时间。

  • UtcNow: 获取协调世界时(UTC)的当前日期和时间。

  • Today: 获取今天的日期,时间部分为零点。

构造函数

  • DateTime(): 创建一个 DateTime 对象,默认为当前时间。

  • DateTime(long ticks): 从自 0001 年 1 月 1 日以来的滴答数创建 DateTime 对象。

  • DateTime(int year, int month, int day): 创建指定年、月、日的 DateTime 对象,时间部分默认为零点。

  • DateTime(int year, int month, day, int hour, int minute): 创建指定年、月、日、时、分的 DateTime 对象。

方法

  • Add(TimeSpan): 返回一个新的 DateTime 对象,它是将指定的 TimeSpan 值添加到当前对象的时间。

  • AddDays(double): 返回一个新的 DateTime 对象,它是将指定天数添加到当前对象的时间。

  • AddHours(double): 返回一个新的 DateTime 对象,它是将指定小时数添加到当前对象的时间。

  • AddMilliseconds(double): 返回一个新的 DateTime 对象,它是将指定毫秒数添加到当前对象的时间。

  • AddMinutes(double): 返回一个新的 DateTime 对象,它是将指定分钟数添加到当前对象的时间。

  • AddMonths(int): 返回一个新的 DateTime 对象,它是将指定月份数添加到当前对象的时间。

  • AddSeconds(double): 返回一个新的 DateTime 对象,它是将指定秒数添加到当前对象的时间。

  • AddYears(int): 返回一个新的 DateTime 对象,它是将指定年份数添加到当前对象的时间。

  • CompareTo(Object): 比较两个 DateTime 对象的顺序。

  • Equals(Object): 判断两个 DateTime 对象是否相等。

  • IsDaylightSavingTime(): 判断当前 DateTime 对象是否处于夏令时。

  • Subtract(TimeSpan): 返回一个新的 DateTime 对象,它是当前对象的时间减去指定的 TimeSpan 值。

  • ToString(): 将 DateTime 对象转换为字符串。

  • ToString(String): 使用指定的格式字符串将 DateTime 对象转换为字符串。

  • ToLocalTime(): 将 DateTime 对象从 UTC 时间转换为本地时间。

  • ToUniversalTime(): 将 DateTime 对象从本地时间转换为 UTC 时间。

静态方法

  • DaysInMonth(int year, int month): 确定指定年份和月份的天数。

  • IsLeapYear(int year): 确定指定年份是否为闰年。

操作符

  • ==!=: 比较两个 DateTime 对象是否相等或不相等。

  • -: 从 DateTime 对象中减去 TimeSpan 对象。

  • ><: 比较两个 DateTime 对象的大小。

格式化方法

  • DateTimeFormatInfo 类提供了格式化 DateTime 对象的方法,例如 GetMonthName(int)GetDayName(int)

使用这些 API,你可以执行日期和时间的算术、格式化、比较和转换等操作。例如:

​
DateTime now = DateTime.Now;
DateTime tomorrow = now.AddDays(1);
int daysInMonth = DateTime.DaysInMonth(2024, 7);
bool isLeapYear = DateTime.IsLeapYear(2024);
string formattedDate = now.ToString("yyyy-MM-dd");

http://www.lryc.cn/news/409545.html

相关文章:

  • 论文阅读【检测】:商汤 ICLR2021 | Deformable DETR
  • dpdk发送udp报文
  • 网站后端管理和构建java项目的工具-Maven
  • 深入理解计算机系统 CSAPP 家庭作业11.10
  • Unity3D 二进制序列化器详解
  • js_拳皇(上)
  • TCP请求如何获取客户端真实源IP地址
  • 【b站-湖科大教书匠】6 应用层 - 计算机网络微课堂
  • QT串口和数据库通信
  • WebKitWebKit简介及工作流程
  • 架构分析(CPU:ARM vs RISC-V)
  • 使用 Docker Compose 部署 RabbitMQ 的一些经验与踩坑记录
  • 前端八股速通(持续更新中...)
  • 【语音识别和生成】语音识别和语音合成技术
  • Redis#架构师面试题
  • 关于#define的使用方法总结
  • Unity顶点动画(Vertex Animation):创造动态视觉效果
  • WSL for Windows
  • Matlab freqz 代码简单实现
  • 待办app哪款好?高效待办软件推荐
  • 【OSCP系列】OSCP靶机-BTRsys-2.1(原创)
  • 攻坚克难岁月长,自主腾飞世界强——回顾近代中国数据库的发展与飞跃
  • WEB前端12-axios基础
  • Ubuntu 防火墙设置
  • JL 跳转指令的理解
  • vue大屏展示组件库datav
  • Vue.js 与 Ajax(vue-resource)的集成应用
  • 【讲解下AI Native应用中的模型微调】
  • 【SOC 芯片设计 DFT 学习专栏 -- DFT DRC规则检查】
  • 深度学习:如何计算感受野