正则表达式怎么写?在线正则测试工具与手机号、邮箱、身份证常用规则大全

对于大部分程序员而言,正则表达式(Regular Expression / RegEx)往往是“用时搜一搜,用完就忘记”的存在。一串看似天书的 ^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$,却能在数据校验、文本清洗和爬虫提取中发挥无可替代的威力。

本文为你整理了核心元字符图谱、规避贪婪匹配陷阱的技巧,并奉上开箱即用的高频常用正则规则大全。

1. 正则表达式核心元字符速查表

字符 匹配含义 经典示例
\d 任意数字(等价于 [0-9]) \d{4} 匹配 4 位连续数字
\w 字母、数字或下划线(等价于 [A-Za-z0-9_]) 常用于用户名、变量名合法性校验
\s 任何空白字符(空格、Tab制表符、换行符) \s+ 匹配连续的一段空白
^ 与 $ 分别代表字符串的开头与结尾 表单校验时必须首尾加上 ^ 和 $,否则只匹配局部
+ / * / ? 量词:1次及以上 / 0次及以上 / 0次或1次 https? 可同时匹配 http 与 https

2. 贪婪匹配 vs 非贪婪匹配(惰性匹配)

在提取 HTML 标签内容时,初学者最常犯的一个严重错误就是忽视了“贪婪性”:

待匹配文本: <div>苹果</div><div>香蕉</div>

// ❌ 贪婪匹配 (默认): <div>.*</div>
// 结果: 匹配从第一个 <div> 一直跨越到最后一个 </div>,直接吞掉了中间所有的内容!

// ✅ 非贪婪匹配 (在量词后加问号 ?): <div>.*?</div>
// 结果: 正确分别匹配出 "<div>苹果</div>" 与 "<div>香蕉</div>" 两段

3. 常用实战正则表达式大全(直接复制即用)

① 中国大陆 11 位手机号码(兼容最新号段):

/^1[3-9]\d{9}$/

② 常用电子邮箱地址(Email):

/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/

③ 中国大陆 18 位身份证号码(包含末位 X 校验):

/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/

④ 强密码校验(8-20位,必须同时包含大写字母、小写字母、数字和特殊字符):

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

⑤ 合法 URL 网址(带 http 或 https):

/^https?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?$/

⑥ 纯汉字中文字符:

/^[\u4e00-\u9fa5]+$/

4. 如何使用在线工具实时调试正则表达式?

直接在代码中运行测试需要频繁重启程序,极度低效。推荐使用易处理 正则表达式测试工具:

  • 支持输入待测文本与正则表达式,即时高亮展示所有匹配成功的子片段;
  • 清晰展示捕获组(Capturing Groups $1, $2)的具体抽取内容;
  • 支持切换全局搜索修饰符(g)、不区分大小写(i)以及多行模式(m),让正则调试事半功倍。

正则表达式测试

高效安全的在线工具,无需安装即用即走

立即在线处理