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

速查表

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

符号 名称 功能描述 示例 匹配结果
. 通配符 匹配除换行符外的任意单个字符 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)的正则实现略有差异,建议查阅对应文档。

相关推荐
袁煦丞24 分钟前
数据库设计神器DrawDB:cpolar内网穿透实验室第595个成功挑战
前端·程序员·远程工作
天天扭码32 分钟前
从图片到语音:我是如何用两大模型API打造沉浸式英语学习工具的
前端·人工智能·github
鱼樱前端2 小时前
今天介绍下最新更新的Vite7
前端·vue.js
coder_pig3 小时前
跟🤡杰哥一起学Flutter (三十四、玩转Flutter手势✋)
前端·flutter·harmonyos
万少3 小时前
01-自然壁纸实战教程-免费开放啦
前端
独立开阀者_FwtCoder3 小时前
【Augment】 Augment技巧之 Rewrite Prompt(重写提示) 有神奇的魔法
前端·javascript·github
yuki_uix3 小时前
AI辅助网页设计:从图片到代码的实践探索
前端
我想说一句3 小时前
事件机制与委托:从冒泡捕获到高效编程的奇妙之旅
前端·javascript
陈随易3 小时前
MoonBit助力前端开发,加密&性能两不误,斐波那契测试提高3-4倍
前端·后端·程序员
小飞悟3 小时前
你以为 React 的事件很简单?错了,它暗藏玄机!
前端·javascript·面试