正则表达式核心符号速查表

速查表

以下整理自稀土掘金技术社区高频教程,涵盖正则表达式核心符号及用法:

符号 名称 功能描述 示例 匹配结果
. 通配符 匹配除换行符外的任意单个字符 a.c abc, a&c
* 星号量词 匹配前一个元素 0 次或多次 ab*c ac, abbc
+ 加号量词 匹配前一个元素 1 次或多次 ab+c abc, abbbc
? 问号量词 匹配前一个元素 0 次或 1 次 colou?r color, colour
{n} 精确量词 匹配前一个元素 恰好 n 次 a{3} aaa
{n,} 区间量词(最小) 匹配前一个元素 至少 n 次 a{2,} aa, aaaa
{n,m} 区间量词(范围) 匹配前一个元素 n 到 m 次 a{2,4} aa, aaa
[ ] 字符集 匹配括号内 任意一个字符 [aeiou] a, e(单词中的元音)
[^ ] 否定字符集 匹配 不在括号内 的任意字符 [^0-9] a, !(非数字)
` ` 或运算符 匹配 左侧或右侧 的表达式 `cat
( ) 捕获分组 将表达式分组并捕获匹配内容 (ab)+ ab, abab
\1 反向引用 引用第 1 个捕获分组的内容 (\w+) \1 hello hello
^ 起始锚点 匹配字符串的 开始位置 ^Hello Hello(仅匹配行首)
$ 结束锚点 匹配字符串的 结束位置 end$ end(仅匹配行尾)
\b 单词边界 匹配单词的开头或结尾位置 \bword\b word(独立单词)
\d 数字字符 匹配任意数字(等价于 [0-9] \d{3} 123, 789
\w 单词字符 匹配字母、数字或下划线(等价于 [a-zA-Z0-9_] \w+ hello, user_1
\s 空白符 匹配空格、制表符、换行符等 \s+ (空格), \t
\ 转义符 将特殊符号转为普通字符 \. .(匹配点号)

高级符号扩展

符号 名称 功能描述
(?: ) 非捕获分组 分组但不捕获匹配内容
(?= ) 正向先行断言 匹配后面紧跟指定模式的位置
(?! ) 负向先行断言 匹配后面不跟指定模式的位置
(?<= ) 正向后行断言 匹配前面紧跟指定模式的位置(需固定长度)
(?<! ) 负向后行断言 匹配前面不跟指定模式的位置(需固定长度)

常用正则表达式实用示例

基础校验

类型 正则表达式 说明 匹配示例
纯汉字 ^[\u4e00-\u9fa5]+$ 仅包含中文字符 "中文", "正则表达式"
纯英文 ^[a-zA-Z]+$ 仅包含英文字母(大小写) "Hello", "REGEX"
汉字+英文组合 ^[\u4e00-\u9fa5a-zA-Z]+$ 中文与英文混合(不含空格/数字/符号) "中文English", "掘金Juejin"

进阶校验

类型 正则表达式 说明 匹配示例
字母+符号 ^[a-zA-Z\p{P}]+$ 英文+标点符号(需启用u标志) "Hello!", "Code@_#"
字母+符号+数字 ^[\w\p{P}]+$ 字母/数字/下划线/标点符号 "P@ss_123", "a1.b?"
中英数混合(含空格) ^[\u4e00-\u9fa5a-zA-Z0-9\s]+$ 中文/英文/数字/空格 "掘金 2024 Juejin"

格式校验

类型 正则表达式 说明
用户名 ^[a-zA-Z0-9_\-.]{4,16}$ 4-16位字母/数字/_-.(常用网站规则)
强密码 ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[\W]).{8,}$ 至少8位,含大小写字母+数字+特殊字符
国内手机号 ^1[3-9]\d{9}$ 11位手机号(中国大陆)
邮箱地址 ^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ 通用邮箱格式(非严格RFC标准)

高级技巧

  1. 提取中文内容
    [\u4e00-\u9fa5]+ → 从"Hello 世界!2024"提取"世界"

  2. 分割中英混合字符串
    ([\u4e00-\u9fa5]+|[a-zA-Z]+) → 将"掘金Juejin"分割为["掘金", "Juejin"]

  3. 过滤特殊符号
    [^\u4e00-\u9fa5a-zA-Z0-9\s] → 移除除中英数空格外的所有字符


使用示例(JavaScript)

javascript 复制代码
// 校验中文+英文混合
const regex = /^[\u4e00-\u9fa5a-zA-Z]+$/;
console.log(regex.test("掘金Juejin")); // true

// 提取文本中的中文
const text = "Hello 世界!2024";
const chineseChars = text.match(/[\u4e00-\u9fa5]+/g);
console.log(chineseChars); // ["世界"]

// 强密码校验
const strongPwd = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[\W]).{8,}$/;
console.log(strongPwd.test("P@ssw0rd")); // true

💡 符号说明

  • \u4e00-\u9fa5:匹配所有中文字符(Unicode范围)
  • \p{P}:匹配所有标点符号(需启用u标志)
  • (?= ):正向先行断言(验证但不消耗字符)
  • \W:匹配非单词字符(等价于[^a-zA-Z0-9_]

稀土掘金学习资源推荐

  1. 《正则表达式 30 分钟入门》
  2. 可视化正则表达式工具 - Regulex
  3. JavaScript 正则最佳实践

💡 提示:不同编程语言(如 Python/JavaScript)的正则实现略有差异,建议查阅对应文档。

相关推荐
小杨同学yx3 分钟前
前端三剑客之Css---day3
前端·css
Mintopia2 小时前
🧱 用三维点亮前端宇宙:构建你自己的 Three.js 组件库
前端·javascript·three.js
故事与九2 小时前
vue3使用vue-pdf-embed实现前端PDF在线预览
前端·vue.js·pdf
Mintopia3 小时前
🚀 顶点-面碰撞检测之诗:用牛顿法追寻命运的交点
前端·javascript·计算机图形学
wb1893 小时前
企业WEB应用服务器TOMCAT
运维·前端·笔记·tomcat·云计算
烛阴3 小时前
解锁 Gulp 的潜力:高级技巧与工作流优化
前端·javascript
Entropy-Lee4 小时前
JavaScript 语句和函数
开发语言·前端·javascript
Wcowin4 小时前
MkDocs文档日期插件【推荐】
前端·mkdocs
xw55 小时前
免费的个人网站托管-Cloudflare
服务器·前端
网安Ruler5 小时前
Web开发-PHP应用&Cookie脆弱&Session固定&Token唯一&身份验证&数据库通讯
前端·数据库·网络安全·php·渗透·红队