正则表达式:文本处理的终极武器
|
admin
2025年9月11日 21:30
本文热度 173
|
正则表达式是用特定语法描述文本模式的工具,支持各种编程语言和文本编辑器。
🔥 核心语法速查
基础匹配
hello 匹配 "hello"
123 匹配 "123"
元字符
. 匹配任意字符(除换行符)
\d 匹配数字 ≡ [0-9]
\w 匹配字母数字下划线 ≡ [a-zA-Z0-9_]
\s 匹配空白符(空格、制表符等)
量词
* 零次或多次
+ 一次或多次
? 零次或一次
{3} 恰好3次
{3,5} 3到5次
字符组
[abc] 匹配 a/b/c
[^abc] 匹配非 a/b/c
[a-z] 匹配小写字母
[0-9A-Z] 匹配数字和大写字母
位置锚点
^ 字符串开始
$ 字符串结束
\b 单词边界
🚀 实战示例
1. 手机号验证
^1[3-9]\d{9}$
2. 邮箱验证
^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
- 匹配:
user.name+123@example.com.cn
3. 提取日期
\d{4}-\d{2}-\d{2}
- 匹配:
2024-01-15
from "日期:2024-01-15,时间:12:30"
4. 匹配中文
[\u4e00-\u9fa5]+
- 匹配:
中文测试
from "Hello中文测试ABC"
5. 密码强度验证
^(?=.*[A-Z])(?=.*[a-z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$
- 必须包含:大写字母、小写字母、数字、特殊字符,至少8位
6. URL提取
https?://[^\s/$.?#].[^\s]*
- 匹配:
https://www.example.com/path?query=123
7. IP地址匹配
(\d{1,3}\.){3}\d{1,3}
8. 提取HTML标签内容
<(\w+)>[^<]*</\1>
💡 常用技巧
分组捕获
(\d{3})-(\d{4})
- 匹配
010-1234
,分组捕获:010
和 1234
非贪婪匹配
<.*?> 匹配最短的标签
<.*> 匹配最长的标签
或操作
(jpg|png|gif)
⚠️ 注意事项
- 转义特殊字符:
. * + ? ^ $ [ ] ( ) { } | \
🛠️ 在线工具推荐
记住:正则表达式不是万能的,但掌握后能解决90%的文本处理问题!
阅读原文:原文链接
该文章在 2025/9/12 11:49:35 编辑过