[Perl]常用正則表達式整理 - CSDN博客
文章推薦指數: 80 %
正則表達式通常縮寫成「regex」,單數有regexp、regex,複數有regexps、regexes、regexen。
一、校驗數字的表達式. 數字:^[0-9]*$; n位的數字:^\d{ ...
[Perl]常用正則表達式整理
元直数字电路验证
于 2020-03-2318:26:12 发布
620
收藏
分类专栏:
Perl
版权声明:本文为博主原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/gsjthxy/article/details/105054524
版权
Perl
专栏收录该内容
25篇文章
8订阅
订阅专栏
什麼是正則表達式
前言:正則表達式,又稱規則表達式。
(英語:RegularExpression,在代碼中常簡寫為regex、regexp或RE),計算機科學的一個概念。
正則表通常被用來檢索、替換那些符合某個模式(規則)的文本。
許多程序設計語言都支持利用正則表達式進行字符串操作。
例如,在Perl中就內建了一個功能強大的正則表達式引擎。
正則表達式這個概念最初是由Unix中的工具軟體(例如sed和grep)普及開的。
正則表達式通常縮寫成「regex」,單數有regexp、regex,複數有regexps、regexes、regexen。
一、校驗數字的表達式
數字:^[0-9]*$n位的數字:^\d{n}$至少n位的數字:^\d{n,}$m-n位的數字:^\d{m,n}$零和非零開頭的數字:^(0|[1-9][0-9]*)$非零開頭的最多帶兩位小數的數字:^([1-9][0-9]*)+(.[0-9]{1,2})?$帶1-2位小數的正數或負數:^(\-)?\d+(\.\d{1,2})?$正數、負數、和小數:^(\-|\+)?\d+(\.\d+)?$有兩位小數的正實數:^[0-9]+(.[0-9]{2})?$有1~3位小數的正實數:^[0-9]+(.[0-9]{1,3})?$非零的正整數:^[1-9]\d*$或^([1-9][0-9]*){1,3}$或^\+?[1-9][0-9]*$非零的負整數:^\-[1-9]0-9″*$或^-[1-9]\d*$非負整數:^\d+$或^[1-9]\d*|0$非正整數:^-[1-9]\d*|0$或^((-\d+)|(0+))$非負浮點數:^\d+(\.\d+)?$或^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$非正浮點數:^((-\d+(\.\d+)?)|(0+(\.0+)?))$或^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$正浮點數:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$或^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$負浮點數:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$或^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$浮點數:^(-?\d+)(\.\d+)?$或^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
二、校驗字符的表達式
漢字:^[\u4e00-\u9fa5]{0,}$英文和數字:^[A-Za-z0-9]+$或^[A-Za-z0-9]{4,40}$長度為3-20的所有字符:^.{3,20}$由26個英文字母組成的字符串:^[A-Za-z]+$由26個大寫英文字母組成的字符串:^[A-Z]+$由26個小寫英文字母組成的字符串:^[a-z]+$由數字和26個英文字母組成的字符串:^[A-Za-z0-9]+$由數字、26個英文字母或者下劃線組成的字符串:^\w+$或^\w{3,20}$中文、英文、數字包括下劃線:^[\u4E00-\u9FA5A-Za-z0-9_]+$中文、英文、數字但不包括下劃線等符號:^[\u4E00-\u9FA5A-Za-z0-9]+$或^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$可以輸入含有^%&',;=?$\」等字符:[^%&',;=?$\x22]+禁止輸入含有~的字符:[^~\x22]+
三、特殊需求表達式
Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?InternetURL:[a-zA-z]+://[^\s]*或^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$手機號碼:^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$電話號碼(「XXX-XXXXXXX」、」XXXX-XXXXXXXX」、」XXX-XXXXXXX」、」XXX-XXXXXXXX」、」XXXXXXX」和」XXXXXXXX):^($$\d{3,4}-)|\d{3.4}-)?\d{7,8}$國內電話號碼(0511-4405222、021-87888822):\d{3}-\d{8}|\d{4}-\d{7}身份證號(15位、18位數字):^\d{15}|\d{18}$短身份證號碼(數字、字母x結尾):^([0-9]){7,18}(x|X)?$或^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$帳號是否合法(字母開頭,允許5-16字節,允許字母數字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$密碼(以字母開頭,長度在6~18之間,只能包含字母、數字和下劃線):^[a-zA-Z]\w{5,17}$強密碼(必須包含大小寫字母和數字的組合,不能使用特殊字符,長度在8-10之間):^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$日期格式:^\d{4}-\d{1,2}-\d{1,2}一年的12個月(01~09和1~12):^(0?[1-9]|1[0-2])$一個月的31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$
四、錢的輸入格式:
有四種錢的表示形式我們可以接受:」10000.00″和「10,000.00″,和沒有「分」的「10000″和「10,000″:^[1-9][0-9]*$這表示任意一個不以0開頭的數字,但是,這也意味著一個字符」0″不通過,所以我們採用下面的形式:^(0|[1-9][0-9]*)$一個0或者一個不以0開頭的數字.我們還可以允許開頭有一個負號:^(0|-?[1-9][0-9]*)$這表示一個0或者一個可能為負的開頭不為0的數字.讓用戶以0開頭好了.把負號的也去掉,因為錢總不能是負的吧.下面我們要加的是說明可能的小數部分:^[0-9]+(.[0-9]+)?$必須說明的是,小數點後面至少應該有1位數,所以」10.」是不通過的,但是「10″和「10.2″是通過的:^[0-9]+(.[0-9]{2})?$這樣我們規定小數點後面必須有兩位,如果你認為太苛刻了,可以這樣:^[0-9]+(.[0-9]{1,2})?$這樣就允許用戶只寫一位小數。
下面我們該考慮數字中的逗號了,我們可以這樣:^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$1到3個數字,後面跟著任意個逗號+3個數字,逗號成為可選,而不是必須:^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$備註:這就是最終結果了,別忘了」+」可以用」*」替代。
如果你覺得空字符串也可以接受的話(奇怪,為什麼?)最後,別忘了在用函數時去掉去掉那個反斜槓,一般的錯誤都在這裡xml文件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$
五、其他特殊的正則表達式
中文字符的正則表達式:[\u4e00-\u9fa5]雙字節字符:[^\x00-\xff](包括漢字在內,可以用來計算字符串的長度(一個雙字節字符長度計2,ASCII字符計1))空白行的正則表達式:\n\s*\r(可以用來刪除空白行)HTML標記的正則表達式:]*>.*?\1>|<.>(網上流傳的版本太糟糕,上面這個也僅僅能部分,對於複雜的嵌套標記依舊無能為力)首尾空白字符的正則表達式:^\s*|\s*$或(^\s*)|(\s*$)(可以用來刪除行首行尾的空白字符(包括空格、制表符、換頁符等等),非常有用的表達式)中國郵政編碼:[1-9]\d{5}(?!\d)(中國郵政編碼為6位數字)IP位址:\d+\.\d+\.\d+\.\d+(提取IP位址時有用)IP位址:((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))(由@飛龍三少提供,感謝共享)
元直数字电路验证
关注
关注
1
点赞
踩
0
收藏
打赏
0
评论
[Perl]常用正則表達式整理
什麼是正則表達式前言:正則表達式,又稱規則表達式。
(英語:RegularExpression,在代碼中常簡寫為regex、regexp或RE),計算機科學的一個概念。
正則表通常被用來檢索、替換那些符合某個模式(規則)的文本。
許多程序設計語言都支持利用正則表達式進行字符串操...
复制链接
扫一扫
专栏目录
常用的正则表达式
weixin_30639719的博客
11-02
2174
常用正则表达式正则表达式用于字符串处理、表单验证等场合,实用高效。
现将一些常用的表达式收集于此,以备不时之需。
用户名:/^[a-z0-9_-]{3,16}$/密码:/^[a-z0-9_-]{6,18}$/十六进制值:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/电子邮箱:/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6}...
最全的常用正则表达式大全
cmdecsdn的博客
05-14
257
最全的常用正则表达式大全——包括校验数字、字符、一些特殊的需求等等
一、校验数字的表达式
1数字:1$
2n位的数字:^\d{n}$
3至少n位的数字:^\d{n,}$
4m-n位的数字:^\d{m,n}$
5零和非零开头的数字:^(0|[1-9][0-9])$
6非零开头的最多带两位小数的数字:^([1-9][0-9])+(.[0-9]{1,2})?$
7带1-2位小数的正数或负数...
参与评论
您还未登录,请先
登录
后发表或查看评论
判断正整数的正则表达式
小哥丷的博客
02-24
16万+
正数的正则表达式(包括0,小数保留两位):^((0{1}\.\d{1,2})|([1-9]\d*\.{1}\d{1,2})|([1-9]+\d*)|0)$
正数的正则表达式(不包括0,小数保留两位):^((0{1}\.\d{1,2})|([1-9]\d*\.{1}\d{1,2})|([1-9]+\d*))$
正整数的正则表达式(包括0):^[+]{0,1}(\d+)$
正整...
几个常用的正则表达式
沈逸的IT专栏---shenyisyn
06-03
1705
"^/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
正則表達式-整理
weixin_34396103的博客
05-25
84
正則表達式
正則表達式(Regular Expression )使用单个字符串来描写叙述、匹配一系列符合某个句法规则的字符串。
在非常多文本编辑器里,正則表達式通常被用来检索、替换那些符合某个模式的文本。
正則表達式是由普通字符(全部的大小写字母字符,全部数字,全部标点符号以及一些符号)以及特殊字符(称为元字符,具有特殊含义的字符)组成的文字模式。
正則表達式作为一个模板,将某个字符模式与所搜...
正则表达式之Java匹配指定汉字
华夏紫云的博客
09-11
3万+
这篇文章主要讲了正则表达式的简单应用,之前大部分都是对字符的匹配,文章讲的是主要是对汉字的匹配,希望可以增加对正则表达式的理解,同时可以体现出它的强大功能。
java正則表達式常用函數,正則表達式常見匹配
最新发布
weixin_36084613的博客
03-11
13
1、匹配中文[\u4e00-\u9fa5]2、匹配雙字節字符(包括漢字在內)[^\x00-\xff]2、匹配Email地址[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?3、匹配url地址[a-zA-z]+://[^\s]*4、匹...
最全常用正则表达式大全
热门推荐
赵英超的博客
04-13
20万+
一、校验数字的表达式
1.数字:^[0-9]*$
2.n位的数字:^\d{n}$
3.至少n位的数字:^\d{n,}$
4.m-n位的数字:^\d{m,n}$
5.零和非零开头的数字:^(0|[1-9][0-9]*)$
6.非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$
7.带1-2位小数的正数或负数:^(\-)?\d...
常用正则表达式大全!(例如:匹配中文、匹配html)
xpnew的技术blog
02-21
2万+
常用正则表达式大全!(例如:匹配中文、匹配html) 匹配中文字符的正则表达式:[u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:ns*r 评注:可以用来删除空白行 匹配HTM
常用正则表达式汇总
weixin_44010187的博客
08-01
51
区号+座机号码+分机号码:regexp="^(0[0-9]{2,3}/-)?([2-9][0-9]{6,7})+(/-[0-9]{1,4})?$"
手机(中国移动手机号码):regexp="^((/(/d{3}/))|(/d{3}/-))?13[456789]/d{8}|15[89]/d{8}"
所有手机号码:regexp="^((/(/d{3}/))|(/d{3}/-))?13[0-9]/d...
正则表达式
weixin_41942838的博客
12-14
884
正则表达式
在Java中,我们经常需要验证一些字符串,例如:年龄必须是2位的数字、用户名必须是8位长度而且只能包含大小写字母、数字等。
正则表达式就是用来验证各种字符串的规则。
它内部描述了一些规则,我们可以验证用户输入的字符串是否匹配这个规则。
先看一个不使用正则表达式验证的例子:下面的程序让用户输入一个QQ号码,我们要验证:
QQ号码必须是5–15位长度
而且必须全部是数字
而且首位不能为0
publicclassDemo{
publicstaticvoidmain(String[]
常用正則表達式
水工鸟的专栏
06-26
620
匹配中文字符的正则表达式:[u4e00-u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达式就好办了匹配双字节字符(包括汉字在内):[^x00-xff]评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)匹配空白行的正则表达式:ns*r评注:可以用来删除空白行匹配HTML标记的正则表达式:]*>.*?|评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的
常用15个js正则表达式
qq_41400380的博客
06-15
3911
在表单验证中,使用正则表达式来验证正确与否是一个很频繁的操作,本文收集整理了15个常用的javaScript正则表达式,其中包括用户名、密码强度、整数、数字、电子邮件地址(Email)、手机号码、身份证号、URL地址、IPv4地址、十六进制颜色、日期、QQ号码、微信号、车牌号、中文正则。
1用户名正则//用户名正则,4到16位(字母,数字,下划线,减号)
varuPattern=/...
[perl]输出纯文本表格
lbt_dvshare的博客
03-21
1215
Text::ASCIITable是一个用来将数据以纯文本格式的表格形式输出的Perl模块,表格样式简洁明了,而且可以灵活地自定义,非常适合命令行程序。
我的这个CLI脚本需要将HashRef输出到终端,简单地使用print输出最多只能达到能看的效果,但是使用Text::ASCIITable能够做到一目了然。
这个模块的接口也非常简单,稍微看看POD和Example就能上...
正则验证正整数表达式
超人阿狸博客
10-31
1万+
正则验证正整数表达式
perl制作漂亮的xls表格
sxlwzl的专栏
04-13
4513
利用perl制作漂亮的xls
1,需要的工具:
useSpreadsheet::Read;
useExcel::Writer::XLSX;
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022CSDN
皮肤主题:酷酷鲨
设计师:CSDN官方博客
返回首页
元直数字电路验证
CSDN认证博客专家
CSDN认证企业博客
码龄11年
数字电路验证领域优质创作者
404
原创
728
周排名
636
总排名
109万+
访问
等级
1万+
积分
3万+
粉丝
1520
获赞
174
评论
9008
收藏
私信
关注
热门文章
阻抗匹配是什么意思?阻抗匹配原理详解
58572
带宽、特征频率、截止频率、-3dB什么意思
31490
[VCS]VCS常用命令詳解
22490
[Cshell]Cshell基本語法---從入門到精通
21127
LDO工作原理詳解
20413
分类专栏
SystemVerilog
140篇
UVM
81篇
SystemC
16篇
LowPower&UPF
6篇
寄存器模型详解以及在SoC驗證中的应用
27篇
一步一步搭建高质量UVM验证环境
8篇
验证工程师养成笔记
65篇
PCIe/UCIe学习笔记
3篇
数模混合电路设计与仿真
15篇
Perl
25篇
Python學習分享
16篇
CMOS集成電路設計
26篇
通信原理
8篇
深度学习(DL,DeepLearning)
1篇
MIPIM-PHYSpecStudyShare
5篇
DigRFv4SpecStudyShare
2篇
CShell
25篇
Tool
57篇
Protocol
17篇
數字後端
9篇
最新评论
时序图绘制工具---TimeGen使用方法总结
weixin_47983247:
你好,请问一下,timigen生成的时序图插入到word里面,有没有办法搜索波形中的文字
[SV]SystemVerilog中指定打印格式
元直数字电路验证:
以最小位宽显示,去除首部的空格和0;
[Linux]Shell命令之彈窗操作-在Linux下實現彈窗提醒
LICHEN647:
怎么查询自己的机器号呀
[SV]SystemVerilog中`define传参---带参数的宏函数(Macrofunction)
weixin_42146117:
另外,如果传递的数值是数组idx比如signal[jj],题主帖子里的方式直接可以传递jj所代表的值
[SV]SystemVerilog中`define传参---带参数的宏函数(Macrofunction)
weixin_42146117:
uvm_hdl_deposit($psprintf("dut.signal%0d_en",jj),VALUE)
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
[P4]Perforce(p4)BranchingandIntegration
[P4]源码管理-perforce(p4)的分支与集成
[P4]Perforce(p4)CommandLine:TipsandTricks
2022年39篇
2021年69篇
2020年258篇
2019年123篇
目录
目录
分类专栏
SystemVerilog
140篇
UVM
81篇
SystemC
16篇
LowPower&UPF
6篇
寄存器模型详解以及在SoC驗證中的应用
27篇
一步一步搭建高质量UVM验证环境
8篇
验证工程师养成笔记
65篇
PCIe/UCIe学习笔记
3篇
数模混合电路设计与仿真
15篇
Perl
25篇
Python學習分享
16篇
CMOS集成電路設計
26篇
通信原理
8篇
深度学习(DL,DeepLearning)
1篇
MIPIM-PHYSpecStudyShare
5篇
DigRFv4SpecStudyShare
2篇
CShell
25篇
Tool
57篇
Protocol
17篇
數字後端
9篇
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
打赏作者
元直数字电路验证
你的鼓励将是我创作的最大动力
¥2
¥4
¥6
¥10
¥20
输入1-500的整数
余额支付
(余额:--)
扫码支付
扫码支付:¥2
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
0
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值
延伸文章資訊
- 1$^O - Perldoc Browser
The name of the operating system under which this copy of Perl was built, ... In Windows platform...
- 2Perl 常用的regexp 規則列表 - 朝陽科技大學
Perl 常用的regexp 規則列表 ... 相當於 {0,1}; * 重複出現任意次, 包含0 次。 ... 第一, perl 有一個很容易記的規則: 凡是標點符號, 加上倒斜線, 一定沒有...
- 3Perl 的布林值
這相當簡單。讓我引述一下文件:. 數字0,字串'0',和'',空串列(),和undef 在布 ...
- 4What does =~/^0$/ mean in Perl? - Stack Overflow
Sound like that perl script is an awesome piece of code. =~ /^0$/ is a regular expression applied...
- 5[Perl]常用正則表達式整理 - CSDN博客
正則表達式通常縮寫成「regex」,單數有regexp、regex,複數有regexps、regexes、regexen。 一、校驗數字的表達式. 數字:^[0-9]*$; n位的數字:^\d{...