正则表达式 – 示例

正则表达式 – 实用示例大全

以下是正则表达式在实际开发中最常见的应用场景,涵盖验证、提取、替换等。每例包含正则模式说明测试字符串匹配/替换结果,帮助你快速理解和应用。

1. 常见验证类

场景正则表达式说明测试字符串结果
中国大陆手机号/^1[3-9]\d{9}$/以1开头,第二位3-9,共11位数字“13812345678”匹配
邮箱地址(常用版)/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/支持常见邮箱格式“test@example.com”匹配
身份证号(18位)/^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}(\d|X|x)$/严格校验出生日期和校验码“110101199003077890”匹配
IPv4 地址/^((25[0-5]|2[0-4]\d|1\d{2}|\d{1,2})\.){3}(25[0-5]|2[0-4]\d|1\d{2}|\d{1,2})$/每个段0-255“192.168.1.1”匹配
十六进制颜色值/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/i支持 #FFF 和 #FFFFFF“#ff00ff”匹配

2. 提取类(常结合分组使用)

场景正则表达式说明测试字符串提取结果
提取URL中的域名/(?:https?:\/\/)?(?:www\.)?([^\/:\?]+)/i捕获组1为域名“https://www.example.com/path”“example.com”
提取所有图片src/<img[^>]*src=["']([^"']+)["']/gi全局忽略大小写HTML文本所有src值
提取日期(多种格式)/((\d{4}-\d{2}-\d{2})|(\d{2}\/\d{2}\/\d{4})|(\d{2}-\d{2}-\d{4}))/分支匹配三种格式“今天是2025-12-25”“2025-12-25”
提取金额(带¥或$)/(?<=[$¥])\d+(\.\d{2})?/正向后瞻提取数字部分“$99.99 或 ¥100”“99.99”、”100″

3. 替换类

场景正则 + 替换字符串说明原字符串替换后
日期格式转换(YYYY-MM-DD → MM/DD/YYYY)/(\d{4})-(\d{2})-(\d{2})/g → '$2/$3/$1'使用捕获组反向引用“2025-12-25”“12/25/2025”
千位分隔符添加/(?<=\d)(?=(\d{3})+(?!\d))/g → ','环视断言插入逗号“1234567890”“1,234,567,890”
脱敏手机号(中间4位*)/(1[3-9]\d)\d{4}(\d{4})/g → '$1****$2'保留前后段“13812345678”“138****5678”
去除HTML标签/<[^>]+>/g → ''移除所有标签“Hello World“Hello World”

4. 高级实用示例

场景正则表达式说明
密码强度验证(8-20位,必须含大小写字母、数字)/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[A-Za-z\d!@#$%^&*]{8,20}$/多个正向前瞻组合检查
匹配成对HTML标签(同一标签名)/<([a-z]+)[^>]*>.*?</\1>/i反向引用标签名(注意:不处理嵌套)
匹配重复单词(文章查重)/\b(\w+)\b\s+\1\b/gi全局忽略大小写匹配如 “the the”
提取CSS中的px值/\b(\d+)px\b/gi提取所有像素值
匹配中文字符/[\u4e00-\u9fa5]+/g提取或验证中文

5. 综合实战:解析日志行

假设日志格式:

2025-12-25 10:30:45 INFO [user:admin] Login success from 192.168.1.100

提取各部分:

/^(\d{4}-\d{2}-\d{2})\s(\d{2}:\d{2}:\d{2})\s([A-Z]+)\s\[user:([^]]+)\]\s(.*)\sfrom\s(\d+\.\d+\.\d+\.\d+)$/
  • 组1: 日期 “2025-12-25”
  • 组2: 时间 “10:30:45”
  • 组3: 级别 “INFO”
  • 组4: 用户 “admin”
  • 组5: 消息 “Login success”
  • 组6: IP “192.168.1.100”

这些示例覆盖了80%以上的日常正则需求。你可以直接复制使用,或根据具体语言(如JavaScript、Python、Java)稍作调整。

如果你有特定场景(如解析JSON、处理Excel、爬虫规则等),欢迎提供细节,我可以为你定制最优正则表达式!

文章已创建 3511

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部