正则表达式 30 分钟入门:一份写给开发者的速查笔记
【摘要】 正则常用语法速查表、手机号验证与邮箱抓取两个实战例子,以及贪婪匹配、分组引用、可读性三个避坑要点,30 分钟上手日常够用的正则。
正则表达式的名声一直不好:一眼看上去像乱码,写完一周后自己都看不懂。但它的能力无可替代——一行正则能替代十几行字符串处理代码。这篇笔记只覆盖最常用的 20% 语法,够应付 80% 的日常场景。
一、核心语法速查
. 任意单个字符(换行除外)
\d 数字 [0-9] \w 字母数字下划线
* 重复 0 次或多次 + 重复 1 次或多次
? 可有可无 {2,4} 重复 2 到 4 次
^ $ 开头 / 结尾 [abc] a、b、c 中任意一个
二、两个最常用的场景
验证手机号:
^1[3-9]\d{9}$
抓取页面里的所有邮箱:
[\w.-]+@[\w-]+\.[a-z]{2,}
三、三个避坑要点
- 贪婪匹配:* 和 + 默认"尽量多拿",用 .*? 变成"尽量少拿",提取 HTML 标签内容时尤其重要;
- 分组与引用:用 () 把一段括起来,之后可以用 $1 引用,替换场景非常有用;
- 别过度使用:能被字符串方法(split、indexOf)简单解决的问题,不必强行上正则,可读性优先。
结语:把这篇的语法表存下来,遇到具体问题现场查、现场试(推荐 regex101.com 在线调试),用上三五次自然就记住了。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)