TL;DR
正则三步走:先锚定位置(^ $),再匹配内容(\d \w 字符类),最后控制数量(+ * {n,m})。
基础语法
| 语法 | 含义 |
|---|
. | 任意字符(默认除换行) |
\d / \w / \s | 数字 / 单词字符 / 空白 |
[abc] / [^abc] | 字符集 / 取反 |
^ / $ | 行首 / 行尾 |
* / + / ? | 0 次以上 / 1 次以上 / 0 或 1 次 |
{n,m} | n 到 m 次 |
(...) / (?:...) | 捕获组 / 非捕获组 |
| `a | b` | 或 |
\b | 单词边界 |
常用示例
| 目标 | 表达式 |
|---|
| 邮箱(简化) | [\w.+-]+@[\w-]+\.[\w.-]+ |
| URL(简化) | https?://[^\s]+ |
| 日期 yyyy-mm-dd | \d{4}-\d{2}-\d{2} |
| IPv4 | (\d{1,3}\.){3}\d{1,3} |
| 中文 | [\u4e00-\u9fa5] |
注意
- 懒惰匹配用
*? +?,避免贪婪吞掉整行; - 不同引擎有差异:PCRE、ERE(grep -E)、JavaScript 不完全相同;
- 复杂正则建议先小步验证再套用到生产。
来源
- regular-expressions.info
- MDN Regular Expressions
最后更新:2026-08-02