关于正则表达式:正则表达式实例搜集通过实例来学习正则表达式

160次阅读

共计 5633 个字符,预计需要花费 15 分钟才能阅读完成。

正则表达式实例收集,通过实例来学习正则表达式。本仓库实例搜集整理来自于 《一些正则表达式随记》,通过一个独自仓库专门整顿这些正则实例,提供一个 实例网站 ,不便正则实例验证和查问。也不便 增加 新的正则实例大家独特保护。

国内镜像站点🇨🇳 · Gitee · Github

如果有一些基础知识,通过实例了解,将会更疾速入门,写出本人的正则。如果对根底还不是很理解,你能够通过 《Learn regex the easy way》 去学习基础知识,这个仓库教程被翻译成十几种语言了,蕴含了中文翻译,它通过极其简略的实例,帮忙你了解正则根底语法规定。

Example

身份证号

^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$

🚧 E.g: 42112319870115371X

用户名

^[a-zA-Z0-9_-]{4,16}$

🚧 E.g: jaywcjlove。验证 数字 字母_,不蕴含特殊字符,长度 4-16 之间。

微信号

^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$

🚧 E.g: jslite。微信号正则,6 至 20 位,以字母结尾,字母,数字,减号,下划线。

明码强度(宽松)

^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$

🚧 E.g: diaoD123, Wgood123。必须是蕴含大小写 字母 数字 的组合,长度在 8-10 之间。

^[0-9a-zA-Z\u4E00-\uFA29]*$

🚧 E.g: diaoD123, Wgood123。数字字母中文。

明码强度(蕴含特殊字符)

^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*?]).*$

🚧 E.g: diaoD123#, Wgood123#$。明码强度正则,起码 6 位,包含至多 1大写字母 1小写字母 1数字 1特殊字符

火车车次

^[GCDZTSPKXLY1-9]\d{1,4}$

E.g: G2868, D22, D9, Z5, Z24, Z17

汉字中文

^[\u4e00-\u9fa5]{0,}$

🚧 E.g: 中文 , 湖北 , 黄冈。不限度文字长度。

^[\u4e00-\u9fa5]{2,6}$

🚧 E.g: 中文 , 湖北黄冈。2 到 6 位汉字

中文名字

^(?:[\u4e00-\u9fa5·]{2,16})$

🚧 E.g: 周杰伦 , 古丽娜扎尔·拜合提亚尔 , 拉希德·本·穆罕默德·本·拉希德

英文姓名

(^[a-zA-Z][a-zA-Z\s]{0,20}[a-zA-Z]$)

🚧 E.g: Gene Kelly, Fred Astaire, Humphrey Bogart, GaryCooper, Cary Grant, Joan Crawford

URL

^[a-zA-Z]+:\/\/

🚧 E.g: http://www.abc.com, http://, https://

^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$

🚧 E.g: https://github.com, https://github.com/jaywcjlove

^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$

🚧 E.g: blog.csdn.net

Mac 地址匹配

^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$

🚧 E.g: dc:a9:04:77:37:20

图片后缀

(.jpg|.gif|.png|.jpeg)+(\?|\#|$)

🚧 E.g: a/b/c.jpg?, a/b/c.png, a/b/c.png?good=1

传真号码

^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$

🚧 E.g: 086-021-5055452, 021-5055452。国家代码(2 到 3 位),区号(2 到 3 位),电话号码(7 到 8 位),分机号(3 位)

手机号码

^1[34578]\d{9}$

🚧 E.g: 13611778887

^((\+?[0-9]{1,4})|(\(\+86\)))?(13[0-9]|14[57]|15[012356789]|17[03678]|18[0-9])\d{8}$

🚧 E.g: 13611779993, +8613611779993

<details>
<summary> 实例 & 具体阐明 </summary>

  • 13 段:130、131、132、133、134、135、136、137、138、139
  • 14 段:145、147
  • 15 段:150、151、152、153、155、156、157、158、159
  • 17 段:170、176、177、178
  • 18 段:180、181、182、183、184、185、186、187、188、189
  • 国内码 如:中国(+86)

</details>

IPv4 地址

(\b25[0-5]|\b2[0-4][0-9]|\b[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}

🚧 E.g: 192.168.1.1, 127.0.0.1, 0.0.0.0, 255.255.255.255, 1.2.3.4

^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$

🚧 E.g: 192.168.1.1, 127.0.0.1, 0.0.0.0, 255.255.255.255, 1.2.3.4

IPv6

(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))

🚧 E.g: 2001:0db8:85a3:0000:0000:8a2e:0370:7334, FE80:0000:0000:0000:0202:B3FF:FE1E:8329

Email

^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$

🚧 E.g: wowohoo@qq.com

^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$

🚧 E.g: wowohoo@qq.com

<details>
<summary> 实例 & 具体阐明 </summary>

  1. 邮箱以 a -z、A-Z、0- 9 结尾,最小长度为 1.
  2. 如果左侧局部蕴含 -、_、. 则这些特殊符号的后面必须包一位数字或字母。
  3. @符号是必填项
  4. 右则局部可分为两局部,第一部分为邮件提供商域名地址,第二局部为域名后缀,现已知的最短为 2 位。
    最长的为 6 为。
  5. 邮件提供商域能够蕴含特殊字符 -、_、.

</details>

十六进制色彩

^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$

🚧 E.g: #b8b8b8, #333

^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$

🚧 E.g: #b8b8b8, #333

日期

^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$

🚧 E.g: 2017-02-29。对 月份 日期 验证。

版本号

^\d+(?:\.\d+){2}$

🚧 E.g: 0.1.2。格局必须为 X.Y.Z

车牌号

^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z](?:((\d{5}[A-HJK])|([A-HJK][A-HJ-NP-Z0-9][0-9]{4}))|[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0- 9 挂学警港澳])$

🚧 E.g: 鄂 A34324, 沪 E13359F。蕴含 新能源 车牌。

^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0- 9 挂学警港澳]$

🚧 E.g: 鄂 A34324, 沪 E13595。不蕴含 新能源 车牌。

小数点后几位

^[0-9]+(.[0-9]{2})?$

🚧 E.g: 1.22, 0223.23。准确到 2 位小数

小数

^\d+\.\d+$

🚧 E.g: 0.0, 0.23, 10.54

(-?\d+)(\.\d+)?

🚧 E.g: -0.0, 0.23, -10.54

正整数

[0-9]*[1-9][0-9]*

🚧 E.g: 23

负整数

-[0-9]*[1-9][0-9]*

🚧 E.g: -23, -2.34

整数

-?\d+

🚧 E.g: 23, 12, -12.55

非负整数(正整数或零)

\d+

🚧 E.g: 23, 3.322

数字

^\d{1,}$

🚧 E.g: 0120234234。不蕴含小数。

^\d{32}$

🚧 E.g: 1223232444475757575757575757575932位纯数字。

数字(QQ 号码)

^[1-9][0-9]{4,10}$

🚧 E.g: 398188661。QQ 号正则,5 至 11 位。

^\d{5,11}$

🚧 E.g: 398188661。更简略的 QQ 号码正则,5~11 位数字组成。

中国邮政编码

[1-9]\d{5}(?!\d)

🚧 E.g: 200000。中国邮政编码为 6 位数字。

英文字母

^[A-Z]+$

🚧 E.g: ABCWANG。大写英文字母。

^[a-z]+$

🚧 E.g: abcwang。小写英文字母。

(^[a-z]|[A-Z0-9])[a-z]*

🚧 E.g: TestsJavaScriptRegEx。大驼峰。

端口号

^((6553[0-5])|(655[0-2][0-9])|(65[0-4][0-9]{2})|(6[0-4][0-9]{3})|([1-5][0-9]{4})|([0-5]{0,5})|([0-9]{1,4}))$

🚧 E.g: 8080300065535

迅雷链接

^thunderx?:\/\/[a-zA-Z\d]+=$

🚧 E.g: 8080

ed2k 链接

^ed2k:\/\/\|file\|.+\|\/$

🚧 E.g: ed2k://|file|[xxx.com][%E8%8B%B1%E9%9B%84%E6%9C%AC%E8%89%B23.mp4|/

磁力链接

^magnet:\?xt=urn:btih:[0-9a-fA-F]{40,}.*$

🚧 E.g: magnet:?xt=urn:btih:608FA22181A2614BAE9160763F04FCB7ED296B9E

工夫

^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$

🚧 E.g: 21:54:5500:23:2324 小时制工夫格局 HH:mm:ss,并且验证工夫。

^(?:1[0-2]|0?[1-9]):[0-5]\d:[0-5]\d$

🚧 E.g: 12:54:5501:23:2312 小时制工夫格局 HH:mm:ss,并且验证工夫。

HTML 标记

<(\S*?)[^>]*>.*?</\1>|<.*?/>

🚧 E.g: <div>title</div>, <head>title</head>

工具举荐

  • RegExp 线上正则表达式学习利器。
  • Regulex*%3F%24) JavaScript 正则表达式可视化工具。
  • Rubular Ruby 正则表达式编辑器。
  • Regex101 多语言反对、构建、调试并共享正则。
  • Regexper 正则表达式可视化工具。
  • RegEx Pal 正则表达式调试及练习示例。
  • Regular Expression Tester 在线正则表达式测试仪。
  • iHateRegex 正则表达式备忘清单。
  • 以简略的形式学习正则表达式
  • Expressions APP 正则表达式利用 for Mac

License

Licensed under the MIT License.

正文完
 0