实用正则表达式快速参考
检查数字
数字:
^[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+)?$
非零正整数:
^[1-9]\d*$ or ^([1-9][0-9]*){1,3}$ or ^\+?[1-9][0-9]*$
非零负整数:
^\-[1-9][]0-9"*$ or ^-[1-9]\d*$
正浮点数:
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ or ^(([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*)$ or ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
检查字符
英文字符:
^[A-Za-z]+$
长度为 3-20 的所有字符:
^.{3,20}$
由 26 个英文字母组成的字符串:
^[A-Za-z]+$
由 26 个小写英文字母组成的字符串:
^[a-z]+$
由数字和 26 个英文字母组成的字符串:
^[A-Za-z0-9]+$
由数字、26 个英文字母或下划线组成的字符串:
^\w+$ or ^\w{3,20}
.*
匹配任何字符,除了\n
特殊表达
电子邮件地址:
^\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})+/.?
网址:
[a-zA-z]+://[^\s]* or ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ or (?:(?:http:\/\/)|(?:https:\/\/))?(?:[\w](?:[\w\-]{0,61}[\w])?\.)+[a-zA-Z]{2,6}(?:\/)
电话号码(“XXX-XXXXXXX”、“XXXX-XXXXXXXX”、“XXX-XXXXXXX”、“XXX-XXXXXXXX”、“XXXXXXX”和“XXXXXXXX”):
^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$
身份证号码(15位、18位):
^\d{15}|\d{18}$
短 ID 号(数字,字母 x 结尾):
^([0-9]){7,18}(x|X)?$ or ^\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)$
XML 文件:
^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$
IP 地址:
((?:(?:25[0–5]|2[0–4]\d|[01]?\d?\d)\.){3}(?:25[0–5]|2[0–4]\d|[01]?\d?\d))
验证 IP-v6 地址:
(([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]))
子网掩码:
((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))
希望上面的 Python regex
表达式对你有用!
链接:https://python.plainenglish.io/python-useful-regex-quick-reference-86b287db5d0c
(版权归原作者所有,侵删)
如今,随着越来越多的企业开始制定智能化转型战略,学习K8s在DevOps中的核心作用,显然已经是一种趋势。
那么,你了解DevOps核心是什么吗?Kubernetes又是为何成为云原生的核心?
明天下午4点-6点,,马哥教育金牌讲师带你两小时了解Devops核心及kubernetes架构,扫描下方二维码预约直播!