正则表达式入门:这 6 个符号解决 80% 的问题
【摘要】 别被正则吓退:掌握 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)