正则表达式

博客介绍了正则表达式,它由普通与特殊字符组成,用于描述字符特征和操作字符串。详细讲解了元字符,如.、[]、|等的含义和用法,还介绍了Regex类的几个方法,如IsMatch、Match等,以及在不同场景下的应用,如验证数字范围、IP地址、日期等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正则表达式
普通字符与特殊字符组成的特殊表达式,用来描述字符的特征 对字符串进行操作 
元字符
 .除\n以外的任意单个字符  .出现在字符组就表示一个普通的点  \.转义成普通的点
[] 字符组 a[x,y,z]b 在中括号中的字符任意取一个 a[a-z A-Z 0-9]b
| 表示“或”的意思 “或”的优先级最低
()改变优先级,或者表示提取组5
*限定前面的表达式出现0次或多次  a.*b  表示.可以出现n次,至少得出现一次 
a.?b ?表示出现0次或者1次  终止贪婪模式
[0-9]{8} 限定数字出现8次
[0-9]{4,}限定最少四位数字,最多不限定
[0-9]{4,9}最少四次,最多九次
^hl  表示字符串必须以h开头并且后面跟一个l
oo$  表示必须以oo结尾

[0-9]+
\d+  [0-9]
\D  非数字字符
\w[a-zA-Z0-9]  
\W  除了w
\s  表示所有不可见字符
\S
\b 单词的边界
下面三个都表示任意单个字符
[\s\S]
[\d\D]
[\w\W]

Regex.IsMatch()//用来判断给定的字符串是否匹配某个正则表达式
Regex.Match()//用来从给定的字符串中按照正则表达式的要求提取一个匹配的字符串
Regex.Matches()//用来从给定的字符串中按照正则表达式的要求提取所有匹配的字符串
Regex.Replace()//替换所有正则表达式匹配的字符串为另外一个字符串
while(true)
{
 Console.WriteLine("请输入一个字符串");
 string str=Console.ReadLine();
 bool b=Regex.IsMatch(str,"[0-9]{6}");//用引号,有一小段匹配就返回true要完全匹配要用开始^和$结束符
 
}
 
 while(true)
 {
   Console.WriteLine("请用户输入一个10-25之间的任何一个数字");
   string n=Console.ReadLine();
   bool b=Regix.IsMatch(n,"^(1[0-9]|2[0-5])$");
   Console.WriteLine(b);
 
 }
 
 .net默认使用 Unicode匹配模式 其实就是全角输入
 
 string msg="1 2 3"; 
 bool b=Regex.IsMatch(msg,@"\d+",RegexOptions.ECMAScript);
 
 ip地址的正则表达式:@"^([0-9]{1,3}\.){3}[0-9]{1,3}$")
 判断合法日期   @:^[0-9]{4}-(0[1-9]|1[0-2])-[0-9]{2}$"
 \d既能匹配1,2..等ASCII数字,也能匹配全角数字
 \w既能匹配[a-zA-Z0-9]也能匹配中文
 \s既能匹配"英文空格",制表符等,也能匹配全角空格
 如果只想匹配ASCII字符,则需要指定RegexOption.ECMAScript选项 

在电子设计自动化(EDA)领域,Verilog HDL 是一种重要的硬件描述语言,广泛应用于数字系统的设计,尤其是在嵌入式系统、FPGA 设计以及数字电路教学中。本文将探讨如何利用 Verilog HDL 实现一个 16×16 点阵字符显示功能。16×16 点阵显示器由 16 行和 16 列的像素组成,共需 256 个二进制位来控制每个像素的亮灭,常用于简单字符或图形显示。 要实现这一功能,首先需要掌握基本的逻辑门(如与门、或门、非门、与非门、或非门等)和组合逻辑电路,以及寄存器和计数器等时序逻辑电路。设计的核心是构建一个模块,该模块接收字符输入(如 ASCII 码),将其转换为 16×16 的二进制位流,进而驱动点阵的 LED 灯。具体而言,该模块包含以下部分:一是输入接口,通常为 8 位的 ASCII 码输入,用于指定要显示的字符;二是内部存储,用于存储字符对应的 16×16 点阵数据,可采用寄存器或分布式 RAM 实现;三是行列驱动逻辑,将点阵数据转换为驱动 LED 矩阵的信号,包含 16 个行输出线和 16 个列使能信号,按特定顺序选通点亮对应 LED;四是时序控制,通过计数器逐行扫描,按顺序控制每行点亮;五是复用逻辑(可选),若点阵支持多颜色或亮度等级,则需额外逻辑控制像素状态。 设计过程中,需用 Verilog 代码描述上述逻辑,并借助仿真工具验证功能,确保能正确将输入字符转换为点阵显示。之后将设计综合到目标 FPGA 架构,通过配置 FPGA 实现硬件功能。实际项目中,“led_lattice”文件可能包含 Verilog 源代码、测试平台文件、配置文件及仿真结果。其中,测试平台用于模拟输入、检查输出,验证设计正确性。掌握 Verilog HDL 实现 16×16 点阵字符显示,涉及硬件描述语言基础、数字逻辑设计、字符编码和 FPGA 编程等多方面知识,是学习
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值