一些摘抄的c#常用正则表达

C#使用正则查找Excel表格里正确数据 C#调用Microsoft.Office.Interop.Excel.dll程序集,使用正则匹配想要的单元格数据。 阅读详情

using System;
  namespace Regexlib {
  /// /// Class1 的摘要说明。
  public class Regexlib {
  public Regexlib() {
  // // TODO: 在此处添加构造函数逻辑 //
  }
  //搜索输入字符串并返回所有 href="..."值
  string DumpHrefs(String inputString) {
  Regex r;
  Match m;
  r = new Regex("href//s*=//s*(?:/"(?<1>[^/"]*)/"|(?<1>//S+))",
  RegexOptions.IgnoreCase|RegexOptions.Compiled);
  for (m = r.Match(inputString);
  m.Success; m = m.NextMatch()) {
  Return("Found href " + m.Groups[1]);
  }
  }
  //验证Email地址
  bool IsValidEmail(string strIn) {
  // Return true if strIn is in valid e-mail format.
  return Regex.IsMatch(strIn, @"^([/w-/.]+)@((/[[0-9]/.[0-9]/.[0-9]/.)|(([/w-]+/.)+))([a-zA-Z]|[0-9])(/]?)$");
  }
  //dd-mm-yy 的日期形式代替 mm/dd/yy 的日期形式。
  string MDYToDMY(String input) {
  return Regex.Replace(input,"//b(?//d)/(?//d)/(?//d)//b","$-$-$");
  }
  //验证是否为小数
  bool IsValidDecimal(string strIn) {
  return Regex.IsMatch(strIn,@"[0]./d|[1]");
  }
  //验证是否为电话号码
  bool IsValidTel(string strIn) {
  return Regex.IsMatch(strIn,@"(/d+-)?(/d-?/d|/d-?/d|^/d)(-/d+)?");
  }
  //验证年月日
  bool IsValidDate(string strIn) {
  return Regex.IsMatch(strIn,@"^2/d-(?:0?[1-9]|1[0-2])-(?:0?[1-9]|[1-2]/d|3[0-1])(?:0?[1-9]|1/d|2[0-3]):(?:0?[1-9]|[1-5]/d):(?:0?[1-9]|[1-5]/d)$");
  }
  //验证后缀名
  bool IsValidPostfix(string strIn) {
  return Regex.IsMatch(strIn,@"/.(?i:gif|jpg)$");
  }
  //验证字符是否再4至12之间
  bool IsValidByte(string strIn) {
  return Regex.IsMatch(strIn,@"^[a-z]$");
  }
  //验证IP
  bool IsValidIp(string strIn) {
  return Regex.IsMatch(strIn,@"^(/d|1/d/d|2[0-4]/d|25[0-5])/.(/d|1/d/d|2[0-4]/d|25[0-5])/.(/d|1/d/d|2[0-4]/d|25[0-5])/.(/d|1/d/d|2[0-4]/d|25[0-5])$");
  }
  }
  }

 

 

[转].NET常用的正则表达式
by Dorian Deng 2008-1-23 17:57:00
匹配中文字符的正则表达式:
[u4e00-u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了

匹配双字节字符(包括汉字在内):
[^x00-xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

匹配空白行的正则表达式:
ns*r
评注:可以用来删除空白行

匹配HTML标记的正则表达式:
<(S*?)[^>]*>.*?|<.*? />
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力

匹配首尾空白字符的正则表达式:
^s*|s*$
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式

匹配Email地址的正则表达式:
w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
评注:表单验证时很实用

匹配网址URL的正则表达式:
[a-zA-z]+://[^s]*
评注:网上流传的版本功能很有限,上面这个基本可以满足需求

匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):
^[a-zA-Z][a-zA-Z0-9_]{4,15}$
评注:表单验证时很实用

匹配国内电话号码:
d{3}-d{8}|d{4}-d{7}
评注:匹配形式如 0511-4405222 或 021-87888822

匹配腾讯QQ号:
[1-9][0-9]{4,}
评注:腾讯QQ号从10000开始

匹配中国邮政编码:
[1-9]d{5}(?!d)
评注:中国邮政编码为6位数字

匹配身份证:
d{15}|d{18}
评注:中国的身份证为15位或18位

匹配ip地址:
d+.d+.d+.d+
评注:提取ip地址时有用

匹配特定数字:
^[1-9]d*$    //匹配正整数
^-[1-9]d*$   //匹配负整数
^-?[1-9]d*$   //匹配整数
^[1-9]d*|0$  //匹配非负整数(正整数 + 0)
^-[1-9]d*|0$  //匹配非正整数(负整数 + 0)
[color=Red]^[1-9]d*.d*|0.d*[1-9]d*$   //匹配正浮点数
^-([1-9]d*.d*|0.d*[1-9]d*)$  //匹配负浮点数
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$  //匹配浮点数
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$   //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$  //匹配非正浮点数(负浮点数 + 0)
评注:处理大量数据时有用,具体应用时注意修正
匹配特定字符串:
^[A-Za-z]+$  //匹配由26个英文字母组成的字符串
^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串
^[a-z]+$  //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串
^w+$  //匹配由数字、26个英文字母或者下划线组成的字符串

在使用RegularExpressionValidator验证控件时的验证功能及其验证表达式介绍如下:

只能输入数字:
“^[0-9]*$”

只能输入n位的数字:
“^d{n}$”

只能输入至少n位数字:
“^d{n,}$”

只能输入m-n位的数字:
“^d{m,n}$”

只能输入零和非零开头的数字:
“^(0|[1-9][0-9]*)$”

只能输入有两位小数的正实数:
“^[0-9]+(.[0-9]{2})?$”

只能输入有1-3位小数的正实数:
“^[0-9]+(.[0-9]{1,3})?$”

只能输入非零的正整数:
“^+?[1-9][0-9]*$”

只能输入非零的负整数:
“^-[1-9][0-9]*$”

只能输入长度为3的字符:
“^.{3}$”

只能输入由26个英文字母组成的字符串:
“^[A-Za-z]+$”

只能输入由26个大写英文字母组成的字符串:
“^[A-Z]+$”

只能输入由26个小写英文字母组成的字符串:
“^[a-z]+$”

只能输入由数字和26个英文字母组成的字符串:
“^[A-Za-z0-9]+$”

只能输入由数字、26个英文字母或者下划线组成的字符串:
“^w+$”

验证用户密码:
“^[a-zA-Z]w{5,17}$”
正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。

验证是否含有^%&',;=?$"等字符:
“[^%&',;=?$x22]+”

只能输入汉字:
“^[u4e00-u9fa5],{0,}$”

验证Email地址:
“^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$”

验证InternetURL:
“^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$”

验证电话号码:
“^((d{3,4})|d{3,4}-)?d{7,8}$”

正确格式为:“XXXX-XXXXXXX”,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”,“XXX-XXXXXXXX”,“XXXXXXX”,“XXXXXXXX”。

验证身份证号(15位或18位数字):
“^d{15}|d{}18$”

验证一年的12个月:
“^(0?[1-9]|1[0-2])$”
正确格式为:“01”-“09”和“1”“12”

验证一个月的31天:
“^((0?[1-9])|((1|2)[0-9])|30|31)$”
正确格式为:“01”“09”和“1”“31”

匹配中文字符的正则表达式:
[u4e00-u9fa5]

匹配双字节字符(包括汉字在内):
[^x00-xff]

匹配空行的正则表达式:
n[s| ]*r

匹配HTML标记的正则表达式:
/<(.*)>.*</1>|<(.*) />/

匹配首尾空格的正则表达式:
(^s*)|(s*$)

匹配Email地址的正则表达式:
w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*

匹配网址URL的正则表达式:
http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?

(1)应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
String.prototype.len=function(){return this.replace([^x00-xff]/g,"aa").length;}

(2)应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现
String.prototype.trim = function()
{
return this.replace(/(^s*)|(s*$)/g, "");
}

(3)应用:利用正则表达式分解和转换IP地址
function IP2V(ip) //IP地址转换成对应数值
{
re=/(d+).(d+).(d+).(d+)/g //匹配IP地址的正则表达式
if(re.test(ip))
{
return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
}
else
{
throw new Error("Not a valid IP address!")
}
}

(4)应用:从URL地址中提取文件名的javascript程序
s="http://www.inthesky.net/default.asp";
s=s.replace(/(.*/){0,}([^.]+).*/ig,"$2") ; //default.asp

(5)应用:利用正则表达式限制网页表单里的文本框输入内容

用正则表达式限制只能输入中文:
onkeyup="value=value.replace(/[^u4E00-u9FA5]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,''))"

用正则表达式限制只能输入全角字符:
onkeyup="value=value.replace(/[^uFF00-uFFFF]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g,''))"

用正则表达式限制只能输入数字:
onkeyup="value=value.replace(/[^d]/g,'') "onbeforepaste= "clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"

用正则表达式限制只能输入数字和英文:
onkeyup="value=value.replace(/[W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,'' 

 

 

无感无刷电机三段式启动避坑指南:从预定位到闭环切换的STM32代码实现 本文深入解析无感无刷电机的三段式启动流程,涵盖预定位、启动加速与闭环切换三大阶段。重点对比了恒频升压、恒压升频与升频升压三种核心启动策略的优劣,并提供了基于STM32的详细状态机代码实现与关键参数调试指南,帮助工程师有效规避启动失步、线圈过热等常见问题,实现稳定可靠的无感驱动。 阅读详情

相关推荐

Keil MDK安装NRF52832开发环境全攻略(附系统时间错误解决方案)

本文详细介绍了如何使用Keil MDK搭建NRF52832开发环境,包括基础软件安装、项目配置关键步骤以及常见问题解决方案。特别针对系统时间错误导致的编译失败问题提供了实用解决方法,帮助开发者快速上手NRF52832开发。

weixin_29168153的博客 505

C#正则验证大全 Regex.IsMatch()正则表达式验证

C#正则验证大全 Regex.IsMatch()正则表达式验证 需要引入命名空间 using System.Text.RegularExpressions; #region 验证文本框输入为数字         ///         /// 验证是不是数字(包含整数和小数)         ///         ///         ///         pu

zdmqweasdzxc的博客 8722

TPAMI审稿人关注什么

写在开头:被tpami接收大概是每个cs er最开心的事情吧!今天阅读TPAMI的文章时,发现有扩刊的文章,也有不是扩刊的文章,那么这两类文章哪个更容易被接收呢?

carlous0的专栏 1684

正则表达式(摘抄/路径)

文章目录正则表达式是什么正则表达式为什么使用正则表达式应用领域C# 正则表达式Java 正则表达式JavaScript 正则表达式Python 正则表达式Ruby 正则表达式正则表达式在线工具 正则表达式是什么 正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。 正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。 正则表达式是繁琐的,但它是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的

weixin_45627194的博客 1546

Qupath软件的安装与使用

Qupath软件的安装与使用软件安装软件下载软件安装【windows版】简单使用文件打开人工标注标注导出和导入 Qupath是一款开源的医学图像标注软件,适合放射影像及数字病理切片等的查看。同时,其自带的标注功能使得医生可以直接通过该软件进行病变区域的标注和分类。跟进一步的,该软件提供groovy脚本运行接口,可供操作者编写和运行脚本,将标注信息转换为xml或者json格式的数据进行进一步的后序处...

qq_40662074的博客 3万+

相位编码脉冲压缩信号的理论研究与 Matlab 实现

通过实际的代码示例,我们展示了如何生成信号、进行相位编码、传输信号、相位解码和脉冲压缩的步骤。相位编码脉冲压缩信号是通过在发射端对信号进行相位编码,并在接收端对信号进行相位解码来实现的。其主要原理是在发射端将信号的频率进行调制,使得信号具有宽带特性,然后在接收端通过匹配滤波器对信号进行解调和压缩,从而提高信号的分辨率和抗干扰能力。相位编码脉冲压缩信号是一种在信号处理中常用的技术,用于提高信号的分辨率和抗干扰能力。可以使用 Matlab 中的信号生成函数生成一个宽带脉冲信号,例如矩形脉冲信号或高斯脉冲信号。

CyberWizarDD的博客 902

WPS缓存清理误区与安全释放C盘空间指南

WPS Office并非传统意义的‘缓存型软件’,其C盘数据实为SQLite数据库、用户配置与临时工作区融合构建的本地数据仓库。误删AppData下的Kingsoft目录极易导致历史文档丢失、VBA宏失效、云同步中断等严重功能退化。理解WPS的混合存储架构(SQLite元数据+二进制序列化+加密临时文件)是安全运维前提;真正可清理的仅限自动恢复文件(.wps_autobak)、缩略图缓存(ThumbnailCache)及云同步临时碎片,而UserData等核心目录承载字体映射、VBA工程、账号Token等运

weixin_33908217的博客 174

SAP 实例解析分期付款配置及应用

SAP系统的付款条件支持分期付款功能,其奥妙之处就在于需要定义一个母条款和一个子条款,其中,母条款需要标识“分期付款”。 首先,定义分期付款的母条款OBB8:             然后,定义子条款(即分期付款的具体方式)OBB9:   由上图可以看出,分期付款的配置还是很强大的,针对每次付款,都可以进行第二层次付款条件的设置。   然后,我们做一笔发票,

heng0757的专栏 1万+

正则表达式的基础说明与介绍

正则表达式通常被用来检索,替换那些符合某个模式的文本,许多程序设计语言都支持利用正则表达式进行字符串的操作,但是写法和支持程度上有所不同。 概念:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符及这些特定字符的组合组成一个规则字符串,这个规则字符串用来表达对字符串的一种过滤逻辑,主要用来验证、搜索和替换,验证和搜索用到较多(摘抄)。 正则表达式有两种形式一是纯文本 二是代码语...

weixin_44546452的博客 431

微软商店报错“此产品当前不可用”?终极修复指南

微软商店报错“此产品当前不可用”?终极修复指南

安德洛夫 3810

全志V3S嵌入式驱动开发(解决kernel 5.2.y wifi驱动问题)

​【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 wifi模块,之前测试的时候,开发板上用的是esp8089,当时内核时4.14.y,测试也是通过的。链接地址在这里, https://blog.youkuaiyun.com/feixiaoxing/article/details/131178420?spm=1001.2014.3001.5501 那个时候测试的时候,我们就说过,wifi驱动可能是除了镜像制作之外,最复杂的一个

嵌入式-老费,一个分享专业嵌入式知识的blog 1158

正则表达式-简介

摘取 https://goregex.cn/regex-intro.html 文章目录摘抄目的正则表达式是什么?正则表达式有什么用?起源及发展历史 摘抄目的 通过摘抄使自己明白了一个事物的发展过程。 知道了它的深刻含义,关键是自己懂得了要如何思考问题 说实话,不明白这些,我们也可以很好的运用正则表达式,那样自己永远不能像大师一样思考问题,会陷入到很细的东西里面 正则表达式是什么? 正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算

一个专研技术的小蜜蜂的博客 234

2 中望CAD二次开发-绘制图形(ZRX C++)

本文讲解中望CAD二次开发,关于块的概念及基本图形的绘制

cilvsuanna的博客 411

c#中正则表达式 和 集合 的知识点

正则表达式 在正则表达式中,在使用转义字符“\”时,需要在字符串前加上“@”符号。 string input = "zhangsan@sina.com"; string patten = @"[a-zA-Z]+@[a-zA-Z]+\.com$"; //前需+“@” Regex r = new Regex(pattern);

王民利 1717

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

asp.net常用正则表达式

正则表达式在我们判断字符的时候是用的最多的了,为了以后的方便,摘抄几个,备忘啊,呵呵 usingSystem; usingSystem.Text.RegularExpressions; usingSystem.Configuration; publicclassValidateBussiness { ///<summary> ...

weixin_30809173的博客 79

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

正则表达式匹配标点符号

摘抄: str = str.replaceAll("[\\pP‘’“”]", ""); Unicode 编码并不只是为某个字符简单定义了一个编码,而且还将其进行了归类。 \pP 其中的小写 p 是 property 的意思,表示 Unicode 属性,用于 Unicode 正表达式的前缀。 大写 P 表示 Unicode 字符集七个字符属性之一:标点字符。 其他六个是 L:字母; M:标记符号(...

jsx112的专栏 1265

一个正则表达式引发的血案,让线上CPU100%异常!

作者:陈树义 | 该文来自腾讯云+社区 陈树义的专栏 前几天线上一个项目监控信息突然报告异常,上到机器上后查看相关资源的使用情况,发现 CPU 利用率将近 100%。通过 Java 自带的线程 Dump 工具,我们导出了出问题的堆栈信息。 我们可以看到所有的堆栈都指向了一个名为 validateUrl 的方法,这样的报错信息在堆栈中一共超过 100 处。通过排查代码,我们知道这个方...

QcloudCommunity的博客 1976

惊爆!一行正则表达式引发的 CPU 惨案

导读:正则表达式是程序员经常使用的工具之一。本文作者通过一个正则表达式的陷阱,先深入剖析了出现问题的原因,后给出怎么处理这类问题的方法。最后还给出了一些检测常见正则表达式...

运维派 1013

C#几种截取字符串的方法小结 (摘抄)

1.根据单个分隔字符用split截取 例如 string st="GT123_1"; string[] sArray=st.split("_"); 即可得到sArray[0]="GT123",sArray[1]="1"; 2.利用多个字符来分隔字符串 例如 string str = "GTAZB_JiangjBen_123";string[] sArray = st...

weixin_30711917的博客 108

C# LINQ学习笔记三:LINQ to OBJECT之操作字符串

    本笔记摘抄自:https://www.cnblogs.com/liqingwen/p/5814204.html,记录一下学习过程以备后续查用。     一、统计单词在字符串中出现的次数     请注意,若要执行计数,请先调用Split方法来创建词数组。Split方法存在性能开销,如果对字符串执行的唯一操作是计数词,则应考虑改用Matches或 IndexOf方法。 class Program { ...

Wu7z_的博客 577

C#相关知识点及解决

合并多行查询数据到一行:合并多行查询数据到一行_没有你的城市-优快云博客 C# webserver实现短信发送:C# webserver实现短信发送(移动) - 吴枫 - 博客园 C#中将金额转化为中文大写金额:在C#中将金额转换成中文大写金额 - ZuQing - 博客园 在线PS工具:【在线PS】PS软件网页版,ps在线图片处理工具photopea-稿定设计PS C#winform禁用中文输入:C# winform 的textbox怎么禁用中文输入?_百度知道 C#子页面传值给父页面:另开.

.NET开发工程师吃瓜日常的日常 173

【C# 学习笔记 ④】C#基础用法查缺补漏(预处理器指令、特性、异常处理、访问器、索引器)

对预处理器指令、特性、异常处理用法的总结整理说明,用于自我复习和分享

一个努力学习的程序猿 655

.NET 程序员十种必备工具摘抄

十个不错的工具,本来早就该发了,可是一直没整理,今天整理好了,将这十款软件的介绍重新格式化一下,方便以后查阅。以 “.NET 程序员十种必备工具”开头的10篇文章都是从这篇文章中分离出来,每篇文章就不分别注明版权和出处了。本文自发布以来已经增加了新信息。请参阅下面的编辑更新。除非您使用能够获得的最佳工具,否则您无法期望生成一流的应用程序。除了 像 Visual Studio?.NET 这样的著

程序员天空 918
上一篇: 一些emacs常用的命令
下一篇: python写的一个omniORB的调用用例
xto
xto
博客等级 码龄24年 4粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值