正则表达式新手必学:5个常用符号搞定日常文本匹配

举报
yd_292239161 发表于 2026/11/14 01:00:05 2026/11/14
【摘要】 很多人看到正则表达式一堆符号就头大,觉得像天书。其实日常开发就用到几个符号,记住下面5个,提取手机号、邮箱、日期都够用了。一、\d 匹配数字\d 就是任意一个数字(0-9)。提取手机号:1[3-9]\d{9}意思是:1开头,第二位3到9,后面再跟9个数字。比你写一堆if判断快多了。二、\w 匹配字母数字下划线\w 相当于 [a-zA-Z0-9_],用来匹配单词字符。匹配账号名:^\w{4,1...

很多人看到正则表达式一堆符号就头大,觉得像天书。其实日常开发就用到几个符号,记住下面5个,提取手机号、邮箱、日期都够用了。

一、\d 匹配数字
\d 就是任意一个数字(0-9)。
提取手机号:1[3-9]\d{9}
意思是:1开头,第二位3到9,后面再跟9个数字。
比你写一堆if判断快多了。

二、\w 匹配字母数字下划线
\w 相当于 [a-zA-Z0-9_],用来匹配单词字符。
匹配账号名:^\w{4,16}$
^开头$结尾,要求4到16位,只能是字母数字下划线。

三、. 匹配任意字符(除换行)
点号什么都能配,配合*用最常见:
.*  匹配任意长度的任意字符(贪婪模式)
.*?  匹配到第一个满足就停(非贪婪,更常用)
比如提取html标签里的文字:<p>(.*?)</p>

四、[] 匹配括号里任意一个
[abc] 就是a或b或c都行。
常用写法:
[0-9] 等于\d
[a-z] 小写字母
[加加减减乘除] 中文也行
比如匹配座机号:0\d{2,3}-\d{7,8}

五、() 分组提取
括号括起来的部分会被单独提取出来。
从身份证里提取生日:(\d{6})(\d{4})(\d{2})(\d{2})(\d{4})
第2组就是出生年份,第3、4组是月日。

新手实用建议:
- 别硬背,先收藏一个正则测试网站(比如regex101),写一行测一行
- 复制别人写好的正则,改改变量就能用,不用从零写
- 复杂正则加注释,不然过两周自己都看不懂
- 提取文本优先用分组,比字符串切片靠谱

正则不是拿来炫技的,是解决"从一大段文本里找规律提取信息"这种脏活的工具。先学会这5个,遇到问题再查别的。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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