什么是正则表达式
正则表达式(Regular Expression)是用于匹配字符串中字符组合的模式,主要用于以下场景:
- 表单验证(邮箱/手机号/密码格式)
- 数据清洗(提取/替换特定文本)
- 日志分析(模式匹配)
- 开发工具(IDE/编辑器批量处理)
基础语法
1. 字面量匹配
// 精确匹配
const pattern = /hello/;
2. 特殊字符
# 常用元字符
import re
pattern = r'^\d{3}-\d{4}$' # 匹配 000-0000 格式
字符 | 说明 | 示例 |
---|---|---|
. | 匹配任意单个字符 | a.c → abc |
\d | 数字字符 | \d\d → 42 |
\w | 字母/数字/下划线 | \w+ → user123 |
常用模式
邮箱验证
// 简易邮箱验证
const emailRegex = /^[\w.-]+@[a-zA-Z\d-]+(\.[a-zA-Z\d-]+)+$/;
URL 匹配
# URL 提取
url_pattern = re.compile(
r'^(https?:\/\/)?' # 协议
r'([\da-z\.-]+)\.([a-z\.]{2,6})' # 域名
r'([\/\w \.-]*)*\/?$' # 路径
)
数字范围
// 1-100 整数匹配
const numberRegex = /^([1-9]\d?|100)$/;
进阶技巧
非贪婪匹配
# 提取最短匹配
re.findall(r'<div>(.*?)</div>', html)
正向预查
// 匹配后面跟着 MB 的数字
const sizeRegex = /\d+(?=\s*MB)/;
Last updated on