正则表达式是什么?
正则表达式(Regular Expression)是用一串符号描述"文本模式"的语言,一行代码顶几十行字符串处理。几乎每个开发者都绕不开它。
核心语法速成
1. 普通字符直接匹配
abc 匹配文本中的 "abc",就这么简单。
2. 字符组:匹配"任意一个"
[abc]匹配 a 或 b 或 c[a-z]匹配任意小写字母[^abc]匹配除了 abc 以外的字符- \d 等价于 [0-9],\w 匹配字母数字下划线,\s 匹配空白
3. 量词:匹配"多少个"
*0次或多次,+1次或多次,?0次或1次{3}恰好3次,{2,5}2到5次
例如手机号:1[3-9]\d{9} —— 1开头,第二位3-9,共11位数字。
4. 锚点:匹配位置
^开头,$结尾^https?://匹配以 http 或 https 开头的字符串
5. 分组与或
(jpg|png|gif)匹配三种扩展名之一- 括号内的内容会被"捕获",可在结果中单独提取
最实用的5个正则
手机号:1[3-9]\d{9}
邮箱:[\w.-]+@[\w.-]+\.\w+
日期:\d{4}-\d{2}-\d{2}
空白字符:\s+
URL:https?://[^\s]+
学习建议
正则是"写出来容易、写对很难"的典型,一定要边写边测。打开我们的正则表达式测试工具,输入模式和文本实时查看每一处匹配的位置和分组,比看十遍教程都有用。