共计 900 个字符,预计需要花费 3 分钟才能阅读完成。
最近在看正则指引这本书,记录一下常见的一些正则表达式,图片使用https://regexper.com生成
整数
[0-9]+

逗号分隔的整数
\b[0-9]{1,3}(,[0-9]{3})*\b

浮点数
(\+?(\d+|\.\d+|\d+\.\d+)|-?(\d+|\d+\.\d+))

0-255之间的数字
^([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])$

身份证
^[1-9]\d{14}(\d{2}[0-9x])?$

邮箱
^[-\w.]{0,64}@([a-zA-Z0-9]{1,63}\.)*[-a-zA-Z0-9]{1,63}$

固定电话
(\(?0[1-9]{2,3}\)?-?)?[1-9][0-9]\{6,7}(-[0-9]{1,6})?

邮编
[1-9][0-9]{5}

ISBN
((ISBN(-13)?:?\s)?97[89][-\s]?[0-9][-\s]?[0-9]{3}[-\s]?[0-9]{5}[-\s]?[0-9]|(ISBN(-10)?:?\s)?[0-9][-\s]?[0-9]{3}[-\s]?[0-9]{5}[-\s]?[0-9x])

“
手机号
(0|\+86)?(13[0-9]|15[0-356]|18[025-9])\d{8}

成对的html tag
如<code>test
<([^>]+)>[\s\S]*?<\ \1=""></\></([^>

a
<a\s+href\s*=\s*["']?([^"'\s]+)["']?>([^<]+)<\ a=""></]+)<\></a\s+href\s*=\s*["']?([^"'\s]+)["']?>

<head>([^>]+)<\ head=""></\></head>

图片
<img\s[^>]*?src=['"]?([^"']+)["']?[^>]*></img\s[^>

附:正则指引思维导图
