[Perl]常用正則表達式整理 - CSDN博客

文章推薦指數: 80 %
投票人數:10人

正則表達式通常縮寫成「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币套餐、付费专栏及课程。

余额充值



請為這篇文章評分?