常用的C#正则表达式!

"^\d+$" //非负整数(正整数 + 0)
"^[0-9]*[1-9][0-9]*$" //正整数
"^((-\d+)|(0+))$" //非正整数(负整数 + 0)
"^-[0-9]*[1-9][0-9]*$" //负整数
"^-?\d+$" //整数
"^\d+(\.\d+)?$" //非负浮点数(正浮点数 + 0)
"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数
"^((-\d+(\.\d+)?)|(0+(\.0+)?))$" //非正浮点数(负浮点数 + 0)
"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //负浮点数
"^(-?\d+)(\.\d+)?$" //浮点数
"^[A-Za-z]+$" //由26个英文字母组成的字符串
"^[A-Z]+$" //由26个英文字母的大写组成的字符串
"^[a-z]+$" //由26个英文字母的小写组成的字符串
"^[A-Za-z0-9]+$" //由数字和26个英文字母组成的字符串
"^\w+$" //由数字、26个英文字母或者下划线组成的字符串
"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$" //email地址
"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$" //url
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ // 年-月-日
/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/ // 月/日/年
"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$" //Emil
"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?" //电话号码
"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$" //IP地址

YYYY-MM-DD基本上把闰年和2月等的情况都考虑进去了
^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$


C#正则表达式
图片 src[^>]*[^/].(?:jpg|bmp|gif)(?:\"|\')
中文 ^([\u4e00-\u9fa5]+|[a-zA-Z0-9]+)$
网址 "\<a.+?href=['""](?!http\:\/\/)(?!mailto\:)(?>foundAnchor>[^'"">]+?)[^>]*?\>"

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

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

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

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

匹配首尾空格的正则表达式:(^\s*)|(\s*$)(像vbscript那样的trim函数)

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

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

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

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

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

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

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

4.计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;}

5.javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下:

String.prototype.trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g, "");
}

利用正则表达式分解和转换IP地址:

6.下面是利用正则表达式匹配IP地址,并将IP地址转换成对应数值的Javascript程序:

function IP2V(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("不是一个正确的IP地址!")
}
}

不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下:

var ip="10.100.20.168"
ip=ip.split(".")
alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))



(?<=>)[^>]*(?=<) 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/352641.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java excel 导出图片_JAVA 使用 POI 导出 EXCEL 自定义背景颜色

开发中常用表格导入和导出 Excel 是常见的功能。在这里分享下使用 POI 导出表格的简单实现&#xff0c;也是为大家提供个思路吧&#xff0c;抛砖引玉&#xff0c;话不多说直接上代码。1、项目引入 maven 依赖<!-- 2、导出表格数据接口RequestMapping3、导出效果如下图以上就…

清北学堂Day 3 游记

爆炸&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 上午&#xff1a;emmmm我今天要争取进前40&#xff08;flag 1&#xff09; 拿到试题&#xff0c;瞬间感受到了zhx长者的恶意......两道方案数题&#xff0c;我要凉了啊。 T1:这是道傻逼题&#xff0c;我20分…

隐马尔可夫模型(HMM)攻略

隐马尔可夫模型 (Hidden Markov Model&#xff0c;HMM) 最初由 L. E. Baum 和其它一些学者发表在一系列的统计学论文中&#xff0c;随后在语言识别&#xff0c;自然语言处理以及生物信息等领域体现了很大的价值。平时&#xff0c;经常能接触到涉及 HMM 的相关文章&#xff0c;一…

python中列表,元组,字符串如何互相转换

python中有三个内建函数&#xff1a;列表&#xff0c;元组和字符串&#xff0c;他们之间的互相转换使用三个函数&#xff0c;str(),tuple()和list(),具体示例如下所示: >>> s "xxxxx" >>> list(s) [x, x, x, x, x] >>> tuple(s) (x, x, …

mysql 查看表v空间自增涨_mysql文件结构及InnoDB引擎表空间整理

一、Mysql 的目录结构1、bin目录用于放置一些可执行文件&#xff0c;如mysql.exe、mysqld.exe、mysqlshow.exe等。2、data目录用于放置一些日志文件及数据库3、include目录用于存放一些头文件&#xff0c;如&#xff1a;mysql.h、mysql_ername.h等。4、lib目录用于放置一些库文…

Python随笔-切片

Python为取list部分元素提供了切片操作&#xff0c;list[begin:end]获取list的[begin,end)区间元素。 可以用负数索引。tuple、str都是list的一种&#xff0c;所以也适用。可以用::n抽取间隔为n的元素。可以用于复制list。arr [0, 1, 2, 3, 4, 5] print(arr[1:3]) print(arr[1…

隐马尔可夫模型 HMM 原理及实现

简介 隐马尔可夫模型&#xff08;Hidden Markov Model&#xff0c;HMM&#xff09;创立于20世纪70年代。主要用于行为识别&#xff0c;语音识别&#xff0c;文字识别等。 原理简述 隐马尔可夫模型由五个部分组成&#xff1a;状态空间S&#xff0c;观测空间O&#xff0c;初始状…

python的print

转载:http://www.pythonclub.org/python-basic/print使用print输出各型的 字符串整数浮点数出度及精度控制 strHello Hello Python print strHello #输出结果&#xff1a;Hello Python #直接出字符串1.格式化输出整数python print也支持参数格式化&#xff0c;与C言的printf似…

python适合开发游戏吗_用python能制作游戏吗

展开全部 能&#xff0c;但不适合2113。 用锤子能造5261汽车吗&#xff1f; 谁也没法说不能吧&#xff1f;历史上也确实曾4102经有些汽车&#xff0c;是用锤子造出1653来的。但一般来说&#xff0c;还是用工业机器人更合适对吗&#xff1f; 比较大型的&#xff0c;使用Python的…

method-dispatch/

https://shipilev.net/blog/2015/black-magic-method-dispatch/转载于:https://www.cnblogs.com/WCFGROUP/p/9744045.html

业务的可变性和不可变性分析_不可变性真的意味着线程安全吗?

业务的可变性和不可变性分析我经常阅读有关“如果对象是不可变的&#xff0c;则它是线程安全的”的文章。 实际上&#xff0c;我从未找到过一篇使我相信不可变意味着线程安全的文章。 即使是Brian Goetz的Java Concurrency in Practice一书中关于不变性的一本书&#xff0c;也没…

linux的system () 函数详解

system&#xff08;执行shell 命令&#xff09; 相关函数 fork&#xff0c;execve&#xff0c;waitpid&#xff0c;popen 表头文件 &#xff03;i nclude<stdlib.h> 定义函数 int system(const char * string); 函数说明 system()会调用…

隐马尔科夫模型C#语言算法实现

开发工具&#xff1a; Visual Studio v2010 .NET Framework 4 Client Profile 版本历史&#xff1a; V1.1 2011年06月09日 修正UMDHMM在Baum-Welch算法中存在的模型参数调整错误。 V1.0 2011年06月08日 将C语言实现的隐马尔科夫模型算法&#xff08;UMDHMM&#xff09;改为C#语…

绘制条形图python_小白学Python(13)——pyecharts 绘制 柱状图/条形图 Bar

Bar-基本示例 1 from example.commons importFaker2 from pyecharts importoptions as opts3 from pyecharts.charts importBar4 5 bar(6 Bar()7 .add_xaxis(Faker.choose())8 .add_yaxis("商家A", Faker.values())9 .add_yaxis("商家B", Faker.values())1…

初进JAVA职场面试小技巧:一个老学长的吐血之作!

看着一批批小白的遭遇&#xff0c;有些无奈&#xff0c;又跟我年轻时有些类似。今天正好有点时间&#xff0c;给你几个建议。 1、在结业之前一定要把自己参与过的项目仔细审视一下&#xff0c;一点要特别熟悉项目的流程功能&#xff0c;另外也要重视自己做过的模块&#xff0c;…

阿里云飞天系统的技术架构(转)

阿里云有以下五大优势&#xff1a;中国万网&#xff0c;提供虚拟主机托管的服务&#xff0c;而且还提供域名等服务&#xff0c;其客户群非常庞大。淘宝、阿里巴巴&#xff08;内部称&#xff1a;B2B&#xff09;、支付宝等其他子公司&#xff1a;有大量的数据分析业务&#xff…

Jenkins 流水线 获取git 分支列表_基于Jenkins的DevOps流水线实践

讲师介绍课程寄语我认为Jenkins是对我这些年运维经验的总结&#xff0c;起初我们运维同学都是编写脚本完成一些自动化的操作。而有了Jenkins我们可以将我们的运维经验与Jenkins设计理念融合完成自动化运维平台。全程最佳实践&#xff0c;Pipeline as Code&#xff0c;打通DevOp…

Java微服务:蛋糕是骗人的,但您不能忽略它

构建微服务实际上意味着什么&#xff1f; 通过微服务框架的眼光回答 忽略微服务的趋势已变得不可能。 有些人会说这只是另一个难以忍受的流行语&#xff0c;而另一些人会背诵打破巨石的优势或采取逆势方法并关注负面因素。 在本文中&#xff0c;我们将深入了解我们拥有的框架…

隐马尔科夫模型C#类库调用示例

[c-sharp] view plaincopyprint?using System; using Splash; namespace SplashCheck { class TestHMMCS { enum Weather { Sunny, Cloudy, Rainy }; // 隐藏状态&#xff08;天气&#xff09; enum Seaweed { Dry, Dryish, Damp, Soggy }…

芯片,开源,数学,计算机

近代数学好像没什么数学定理是中国人命名的&#xff0c;有也是凤毛麟角是广泛意义上的华人命名的。开源Linux内核好像也没有几行代码是中国人贡献的&#xff0c;通用CPU芯片美帝的&#xff0c;计算机美帝发明的&#xff0c;内存/硬盘/显示器&#xff0c;三星台湾造。20年前我大…