正则表达式入门:这 6 个符号解决 80% 的问题

举报
yd_233118316 发表于 2026/11/06 06:04:28 2026/11/06
【摘要】 别被正则吓退:掌握 6 个基础符号 + 3 个真实例子(手机号校验/日志提取IP/日期格式替换),覆盖日常 80% 场景。

很多人一看到正则就头疼:^(?=.*[A-Z])(?=.*\d).{8,}$ 像天书。其实日常开发里 80% 的场景只用得到 6 个基础符号,掌握它们就能覆盖表单校验、日志提取、文本替换的大部分需求。

六个核心符号

① \d 一个数字;② \w 一个字母/数字/下划线;③ + 前面的东西重复 1 次以上;④ * 重复 0 次以上;⑤ [] 字符集合,如 [abc] 匹配其中任意一个;⑥ () 分组捕获,把匹配的部分"抓"出来。

三个实用例子

手机号校验:

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

以 1 开头,第二位 3-9,后面 9 位数字。^ 和 $ 锚定首尾,防止中间匹配。

从日志提取 IP:

(\d{1,3}\.){3}\d{1,3}

四段 1-3 位数字用点隔开。\. 是转义的点(单独的 . 匹配任意字符)。

替换日期格式:把 2026-11-06 换成 11/06/2026:

// JS
str.replace(/(\d{4})-(\d{2})-(\d{2})/g, '$2/$3/$1');

三个括号分组,$1/$2/$3 引用,这就是分组捕获的威力。

两个避免踩坑的习惯

1)能用字符串方法(startsWith、includes)解决的别上正则——可读性优先;2)写复杂正则前先上 regex101.com 调试,实时看每段匹配了什么,比在代码里盲试快十倍。

小结

\d、\w、+、*、[]、() 六个符号加锚点,足够应付日常校验和提取。正则不是背出来的,是照着例子改出来的。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。