常用正则表达式汇总—(数字匹配/字符匹配/特殊匹配)

article/2025/9/30 13:29:13
匹配大写字母开头单词      r"\b[A-Z]+[a-z]*\b"      r"\b[A-Z]\w*\b"匹配数字     r"\s(-?\d+\.?/?\d*%?)"替换日期  2019-09-09   换成  2019.09.09               r"\d{4}-\d{1,2}-\d{1,2}"比较常用的几个正则表达式(匹配数字)评注:匹配中文还真是个头疼的事,有了这个表达式就好办了匹配双字节字符(包括汉字在内):[^\x00-\xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)匹配空白行的正则表达式:\n\s*\r
评注:可以用来删除空白行匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? />
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力匹配首尾空白字符的正则表达式:^\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)
^[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)/^(100|[1-9]?\d)%$/      // 0% 到 100% 不能有小数
/^(100|[1-9]?\d(\.\d\d?)?)%$/    // 0% 到 100% 可有小数 (5.2%  55.55%)评注:处理大量数据时有用,具体应用时注意修正匹配特定字符串:
^[A-Za-z]+$  //匹配由26个英文字母组成的字符串
^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串
^[a-z]+$  //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串
^\w+$  //匹配由数字、26个英文字母或者下划线组成的字符串

**

1. 校验数字的表达式

**

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+(\.\d{1,2})?$   8 正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$9 有两位小数的正实数:^[0-9]+(.[0-9]{2})?$10 有1~3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$11 非零的正整数:^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$    12 非零的负整数:^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$13 非负整数:^\d+$ 或 ^[1-9]\d*|0$14 非正整数:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$15 非负浮点数:^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$16 非正浮点数:^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$17 正浮点数:^[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]*))$18 负浮点数:^-([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]*)))$19 浮点数:^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$

2. 校验字符的表达式

1 汉字:^[\u4e00-\u9fa5]{0,}$2 英文和数字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$3 长度为3-20的所有字符:^.{3,20}$4 由26个英文字母组成的字符串:^[A-Za-z]+$5 由26个大写英文字母组成的字符串:^[A-Z]+$6 由26个小写英文字母组成的字符串:^[a-z]+$7 由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$8 由数字、26个英文字母或者下划线组成的字符串:^\w+$ 或 ^\w{3,20}$9 中文、英文、数字包括下划线:^[\u4E00-\u9FA5A-Za-z0-9_]+$10 中文、英文、数字但不包括下划线等符号:^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$11 可以输入含有^%&',;=?$\"等字符:[^%&',;=?$\x22]+12 禁止输入含有~的字符:[^~\x22]+

3. 特殊需求表达式加粗样式

1 Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$2 域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?3 InternetURL:[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$4 手机号码:^(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}$5 电话号码("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX):^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$6 国内电话号码(0511-4405222、021-87888822):\d{3}-\d{8}|\d{4}-\d{7}7 身份证号(15位、18位数字):^\d{15}|\d{18}$8 短身份证号码(数字、字母x结尾):^([0-9]){7,18}(x|X)?$ 或 ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$9 帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$10 密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线):^[a-zA-Z]\w{5,17}$11 强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间):^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$12 日期格式:^\d{4}-\d{1,2}-\d{1,2}13 一年的12个月(01~09和1~12):^(0?[1-9]|1[0-2])$14 一个月的31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$15 钱的输入格式:16 1.有四种钱的表示形式我们可以接受:"10000.00" 和 "10,000.00", 和没有 "分" 的 "10000" 和 "10,000":^[1-9][0-9]*$17 2.这表示任意一个不以0开头的数字,但是,这也意味着一个字符"0"不通过,所以我们采用下面的形式:^(0|[1-9][0-9]*)$18 3.一个0或者一个不以0开头的数字.我们还可以允许开头有一个负号:^(0|-?[1-9][0-9]*)$19 4.这表示一个0或者一个可能为负的开头不为0的数字.让用户以0开头好了.把负号的也去掉,因为钱总不能是负的吧.下面我们要加的是说明可能的小数部分:^[0-9]+(.[0-9]+)?$20 5.必须说明的是,小数点后面至少应该有1位数,所以"10."是不通过的,但是 "10" 和 "10.2" 是通过的:^[0-9]+(.[0-9]{2})?$21 6.这样我们规定小数点后面必须有两位,如果你认为太苛刻了,可以这样:^[0-9]+(.[0-9]{1,2})?$22 7.这样就允许用户只写一位小数.下面我们该考虑数字中的逗号了,我们可以这样:^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$23 8.1到3个数字,后面跟着任意个 逗号+3个数字,逗号成为可选,而不是必须:^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$24 备注:这就是最终结果了,别忘了"+"可以用"*"替代如果你觉得空字符串也可以接受的话(奇怪,为什么?)最后,别忘了在用函数时去掉去掉那个反斜杠,一般的错误都在这里25 xml文件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$26 中文字符的正则表达式:[\u4e00-\u9fa5]27 双字节字符:[^\x00-\xff] (包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1))28 空白行的正则表达式:\n\s*\r (可以用来删除空白行)29 HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? /> (网上流传的版本太糟糕,上面这个也仅仅能部分,对于复杂的嵌套标记依旧无能为力)30 首尾空白字符的正则表达式:^\s*|\s*$或(^\s*)|(\s*$) (可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式)31 腾讯QQ号:[1-9][0-9]{4,} (腾讯QQ号从10000开始)32 中国邮政编码:[1-9]\d{5}(?!\d) (中国邮政编码为6位数字)33 IP地址:\d+\.\d+\.\d+\.\d+ (提取IP地址时有用)34 IP地址:((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))

在这里插入图片描述

比较常用的几个正则表达式(匹配数字)

评注:匹配中文还真是个头疼的事,有了这个表达式就好办了

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

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

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

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

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

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

匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):1[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地址时有用

匹配特定数字:
2\d*KaTeX parse error: Expected 'EOF', got '\d' at position 20: …//匹配正整数 ^-[1-9]\̲d̲*   //匹配负整数
^-?[1-9]\d*KaTeX parse error: Expected 'EOF', got '\d' at position 17: …  //匹配整数 ^[1-9]\̲d̲*|0  //匹配非负整数(正整数 + 0)
^-[1-9]\d*|0KaTeX parse error: Expected 'EOF', got '\d' at position 28: …负整数 + 0) ^[1-9]\̲d̲*\.\d*|0\.\d*[1…   //匹配正浮点数
^-([1-9]\d*.\d*|0.\d*[1-9]\d*)KaTeX parse error: Expected 'EOF', got '\d' at position 21: …配负浮点数 ^-?([1-9]\̲d̲*\.\d*|0\.\d*[1…  //匹配浮点数
3\d*.\d*|0.\d*[1-9]\d*|0?.0+|0KaTeX parse error: Expected 'EOF', got '\d' at position 33: … + 0) ^(-([1-9]\̲d̲*\.\d*|0\.\d*[1…  //匹配非正浮点数(负浮点数 + 0)
评注:处理大量数据时有用,具体应用时注意修正

匹配特定字符串:
4+ / / 匹 配 由 26 个 英 文 字 母 组 成 的 字 符 串 [ A − Z ] + //匹配由26个英文字母组成的字符串 ^[A-Z]+   //26[AZ]+  //匹配由26个英文字母的大写组成的字符串
5+ / / 匹 配 由 26 个 英 文 字 母 的 小 写 组 成 的 字 符 串 [ A − Z a − z 0 − 9 ] + //匹配由26个英文字母的小写组成的字符串 ^[A-Za-z0-9]+   //26[AZaz09]+  //匹配由数字和26个英文字母组成的字符串
^\w+$  //匹配由数字、26个英文字母或者下划线组成的字符串


  1. a-zA-Z ↩︎

  2. 1-9 ↩︎

  3. 1-9 ↩︎

  4. A-Za-z ↩︎

  5. a-z ↩︎


http://chatgpt.dhexx.cn/article/VbyWngSR.shtml

相关文章

【质量】镜像漏洞扫描工具Trivy原理和操作

目录 Trivy工作原理 cve ID和CVE数据库 Trivy扫描镜像流程 快速入门 Trivy工作原理 cve ID和CVE数据库 个人理解&#xff1a; 当有人发现漏洞时&#xff0c;在社区提交漏洞&#xff0c;然后被cve 官方数据库收录&#xff0c;分配cve id。 漏洞扫描工具扫描镜像内的组件…

基于JAVA_Swing的图形化GUI漏洞扫描工具开发的编程思维

文章目录 前言一、工具外观整体设计二、漏洞检测类模块总结2022年6月27日更新此篇 前言 CSDN博客有很长一段时间没有更新&#xff0c;漏洞复现的文章也没有经常发了&#xff0c;原因是因为我这段时间在做一件大事&#xff0c;并且这件大事已经做完啦&#xff01;&#xff01;&…

Xray-强大的漏洞扫描工具

Xray是什么&#xff1f; xray (https://github.com/chaitin/xray) 是从长亭洞鉴核心引擎中提取出的社区版漏洞扫描神器&#xff0c;支持主动、被动多种扫描方式&#xff0c;自备盲打平台、可以灵活定义 POC&#xff0c;功能丰富&#xff0c;调用简单&#xff0c;支持 Windows …

Java 漏洞扫描工具之 IDE 插件中强烈建议修复的漏洞

近期有很多同学在找【漏洞扫描工具】&#xff0c;今天来推荐下这款开源组件的漏洞检测工具&#xff1a;使用简单、能力专业、风险展示清晰的 ide 插件“murphysec”。 它可以快速识别项目中使用了哪些存在安全缺陷的开源组件&#xff0c;并帮助一键修复问题。目前支持Java、Ja…

Web安全 Acunetix漏洞扫描工具.

Acunetix 漏洞扫描工具概括 Acunetix 是一个自动化的 Web 应用程序安全测试工具&#xff0c;是通过检查 SQL 注入&#xff0c;跨站点脚本&#xff08;XSS&#xff09;和其他可利用漏洞等来审核您的 Web 应用程序。一般来说&#xff0c;Acunetix 能够扫描任何通过网络浏览器访问…

idea漏洞扫描工具SonarLint

目的 在使用持续集成发布时&#xff0c;其中加入了sonar的校验&#xff0c;为了提高sonar校验评分&#xff0c;希望在本地进行体检校验。 方案 在idea中安装代码校验插件&#xff0c;这里使用SonarLint | Code Quality and Code Security starts in your IDE&#xff0c;其他还…

【网安神器篇】——WPScan漏洞扫描工具

作者名&#xff1a;Demo不是emo 主页面链接&#xff1a;主页传送门创作初心&#xff1a;舞台再大&#xff0c;你不上台&#xff0c;永远是观众&#xff0c;没人会关心你努不努力&#xff0c;摔的痛不痛&#xff0c;他们只会看你最后站在什么位置&#xff0c;然后羡慕或鄙夷座右…

基于JavaFx的ThinkPHP漏洞扫描工具---RexHa(Aazhen)的一些说明

文章目录 吹水环节一、工具的功能&#xff08;新旧版本对比&#xff09;二、工具的使用与操作2.1 工具新旧版展示2.2 漏洞单个扫描验证功能展示2.2.1 Thinkphp-2.x rce--&#x1f44c;&#x1f3fb;2.2.2 ThinkPHP-5.0.23-RCE--&#x1f44c;&#x1f3fb;2.2.3 ThinkPHP5.0.x-…

漏洞扫描程序

什么是漏洞 漏洞是任何软件中存在的安全漏洞。如果被利用&#xff0c;这些缺陷可能允许攻击者未经授权访问敏感信息&#xff0c;或者通常造成严重破坏&#xff0c;使整个组织面临风险。外部安全研究人员和相关供应商不断审查公开可用的软件以识别漏洞。任何发现的漏洞都会使用…

Web安全 Nessus漏洞扫描工具.

Nessus的概括 Nessus 是世界上很流行的漏洞扫描程序&#xff0c;全世界很多组织都有在使用它。该工具提供完整的电脑漏洞扫描服务&#xff0c;并随时更新其漏洞数据库。Nessus不同于传统的漏洞扫描软件&#xff0c;Nessus可同时在本机或远端上遥控&#xff0c;进行系统的漏洞分…

用于渗透测试的10种漏洞扫描工具

漏洞扫描工具是IT部门中必不可少的工具之一&#xff0c;因为漏洞每天都会出现&#xff0c;给企业带来安全隐患。 漏洞扫描工具有助于检测安全漏洞、应用程序、操作系统、硬件和网络系统。 黑客在不停的寻找漏洞&#xff0c;并且利用它们谋取利益。网络中的漏洞需要及时识别和…

漏洞扫描工具之nessus

5.1 使用Nessus Nessus号称是世界上最流行的漏洞扫描程序&#xff0c;全世界有超过75000个组织在使用它。该工具提供完整的电脑漏洞扫描服务&#xff0c;并随时更新其漏洞数据库。Nessus不同于传统的漏洞扫描软件&#xff0c;Nessus可同时在本机或远端上遥控&#xff0c;进行系…

漏洞扫描工具(一)

FSCAN fscan 是一个内网综合扫描工具&#xff0c;方便一键自动化、全方位漏洞扫描。 它支持主机存活探测、端口扫描、常见服务的爆破、ms17010、redis批量写公钥、计划任务反弹shell、读取win网卡信息、web指纹识别、web漏洞扫描、netbios探测、域控识别等功能。 源码链接&a…

Windows7之天镜漏洞扫描工具安装

01 天镜漏洞扫描工具安装 01 安装天镜 02 升级漏洞 03 重启win7, 多次重复升级过程(1次可能没办法成功) 04 成功之后查看版本

AWVS-Web漏洞扫描工具

一、AWVS简介 Acunetix Web Vulnerability Scanner&#xff08;简称AWVS&#xff09;是一个自动化的Web漏洞扫描工具&#xff0c;它可以扫描任何通过Web浏览器访问和遵循HTTP/HTTPS规则的Web站点。 AWVS原理是基于漏洞匹配方法&#xff0c;通过网络爬虫测试你的网站安全&…

如何自己开发漏洞扫描工具

漏洞扫描工具&#xff0c;核心就是扫描器&#xff0c;而扫描器的设计思想是&#xff1a;灵活&#xff0c;易扩展&#xff0c;易修改&#xff0c;灵活的意思就是可单独执行专项漏洞的扫描&#xff0c;也可以批量执行集成的所有漏洞探测模块&#xff1b;易扩展的意思就是&#xf…

漏洞扫描工具openvas

openvas简介 安装环境 安装openvas 一系统简介 OpenVAS是开放式漏洞评估系统&#xff0c;也可以说它是一个包含着相关工具的网络扫描器。其核心部件是一个服务器&#xff0c;包括一套网络漏洞测试程序&#xff0c;可以检测远程系统和应用程序中的安全问题。 用户需要一种自动…

漏洞扫描工具汇总

漏洞扫描器可以快速帮助我们发现漏洞&#xff0c;如SQL注入漏洞、CSRF、缓冲区溢出等。下面就介绍几种常用的漏洞扫描工具。 Fortify 代码审计工具Fortify SCA (Fortify Static Code Analyzer)&#xff0c;一款软件代码安全测试工具&#xff0c;提供静态源码扫描能力&#xf…

Kali漏洞扫描工具OpenVas

一、漏洞扫描器 漏洞扫描器通常由两个部分组成 ①进行扫描的引擎部分②包含了世界上大多数系统和软件漏洞特征的特征库 比较优秀的漏洞扫描器&#xff1a; Rapid7 Nexpose&#xff1a;&#xff08;商用软件&#xff09;适合较大的网络Tenable Nessus&#xff1a;&#xff08;商…

10种用于渗透测试的漏洞扫描工具有哪些_渗透测试和漏洞扫描区别

大家好&#xff0c;又见面了&#xff0c;我是你们的朋友全栈 [漏洞]扫描[工具]是IT部门中必不可少的工具之一&#xff0c;因为漏洞每天都会出现&#xff0c;给企业带来安全隐患。 [漏洞扫描工具有助于检测安全漏洞、应用程序、操作系统、硬件和网络系统。 黑客在不停的寻找漏…