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

server/2024/10/20 11:43:59/

在 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.ppmy.cn/server/95432.html

相关文章

24暑假算法刷题 | Day27 | 贪心算法 I | LeetCode 455. 分发饼干,376. 摆动序列,53. 最大子数组和

目录 455. 分发饼干题目描述题解 376. 摆动序列题目描述题解 53. 最大子数组和题目描述题解 455. 分发饼干 点此跳转题目链接 题目描述 假设你是一位很棒的家长&#xff0c;想要给你的孩子们一些小饼干。但是&#xff0c;每个孩子最多只能给一块饼干。 对每个孩子 i&#x…

均匀线性阵列 (ULA) 的基础知识【附全部MATLAB代码】

微信公众号&#xff1a;EW Frontier QQ交流群&#xff1a;949444104 主要内容 介绍 均匀线性阵列 &#xff08;ULA&#xff09; 是沿直线等距分布的传感器元件的集合。最常见的传感器类型是偶极子天线&#xff0c;可以在空中发射和接收电磁波。其他类型的传感器包括可在空气中…

【C++程序设计】——利用数组处理批量数据(二)

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;开发者-削好皮的Pineapple! &#x1f468;‍&#x1f4bb; hello 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 削好皮的Pineapple! 原创 &#x1f468;‍&#x1f4…

Python 如何进行自然语言处理(NLTK, SpaCy)

自然语言处理&#xff08;Natural Language Processing, NLP&#xff09;是计算机科学和人工智能的一个重要领域&#xff0c;旨在实现计算机对人类语言的理解和处理。在Python中&#xff0c;有许多工具和库可以用于自然语言处理&#xff0c;其中最流行的两个是NLTK&#xff08;…

C#学习笔记20240730

文章目录 连接字符串连接字符串是什么&#xff1f;SQLServer连接字符串配置文件中存储异常 SqlCommandSqlCommand介绍重要属性创建 Command执行方法ExecuteNonQuery 连接字符串 连接字符串是什么&#xff1f; 字符串&#xff0c;一组被格式化的键值对&#xff0c;数据源在哪里…

本科阶段最后一次竞赛Vlog——2024年智能车大赛智慧医疗组准备全过程——3bin模型转化环境的准备

本科阶段最后一次竞赛Vlog——2024年智能车大赛智慧医疗组准备全过程——3bin模型转化环境的准备 ​ 今天给大家带来的是在上一期基础上最重要的一步&#xff0c;这个地方是我开始踩坑的开始。 ​ 当时一开始看教程&#xff0c;不知道怎么看到了高级进阶版。当时也是弄了好久…

File类的用法

目录 File的常见方法 普通文件的创建 普通文件的删除 deleteOnExit 目录的创建 mkdir mkdirs 文件的重命名和剪切 剪切 重命名 InputStream read() OutputStream write() Reader Writer write(String str) 代码练习 扫描指定⽬录&#xff0c;并找到名称中包含…

逻辑推理之lora微调

逻辑推理微调 比赛介绍准备内容lora微调lora微调介绍lora优势代码内容 start_vllm相关介绍调用 运行主函数提交结果总结相应连接 比赛介绍 本比赛旨在测试参与者的逻辑推理和问题解决能力。参与者将面对一系列复杂的逻辑谜题&#xff0c;涵盖多个领域的推理挑战。 比赛的连接:…