Press⌘+Kto search
IP: 获取中...
为效率而生, Just tools.goodssoft.com
正则表达式速查表
常用正则表达式模式和语法参考,支持实时测试
实时测试
无匹配结果
基本语法
.匹配任意单个字符(除换行符)
示例:
a.c 匹配 abc^匹配字符串开头
示例:
^Hello 匹配 Hello World$匹配字符串结尾
示例:
world$ 匹配 Hello world|或运算符
示例:
cat|dog 匹配 cat 或 dog\转义特殊字符
示例:
\. 匹配点号字符类
[abc]匹配方括号内任意字符
示例:
[abc] 匹配 a 或 b 或 c[^abc]匹配除方括号内字符外的任意字符
示例:
[^abc] 不匹配 a、b、c[a-z]匹配小写字母 a 到 z
示例:
[a-z] 匹配任意小写字母[A-Z]匹配大写字母 A 到 Z
示例:
[A-Z] 匹配任意大写字母[0-9]匹配数字 0 到 9
示例:
[0-9] 匹配任意数字\d匹配任意数字(等同 [0-9])
示例:
\d 匹配 123\D匹配非数字字符
示例:
\D 匹配 abc\w匹配字母、数字、下划线
示例:
\w 匹配 a_b1\W匹配非单词字符
示例:
\W 匹配 @#$\s匹配空白字符(空格、制表符等)
示例:
\s 匹配空格和制表符\S匹配非空白字符
示例:
\S 匹配非空格字符量词
*匹配 0 次或多次
示例:
a* 匹配 aaa、空字符串+匹配 1 次或多次
示例:
a+ 匹配 a、aaa?匹配 0 次或 1 次
示例:
a? 匹配 a 或空{n}匹配恰好 n 次
示例:
a{3} 匹配 aaa{n,}匹配至少 n 次
示例:
a{2,} 匹配 aa、aaa{n,m}匹配 n 到 m 次
示例:
a{2,4} 匹配 aa、aaa、aaaa分组和引用
()捕获组
示例:
(ab)+ 匹配 ababab(?:)非捕获组
示例:
(?:ab)+ 匹配 ababab(?=)正向先行断言
示例:
a(?=b) 匹配 a 后面是 b 的 a(?!)负向先行断言
示例:
a(?!b) 匹配 a 后面不是 b 的 a(?<=)正向后行断言
示例:
(?<=a)b 匹配 a 后面的 b(?<!)负向后行断言
示例:
(?<!a)b 匹配不在 a 后面的 b\1引用第一个捕获组
示例:
(a)\1 匹配 aa\2引用第二个捕获组
示例:
(a)(b)\2\1 匹配 abba断言
^字符串开始
示例:
^Start$字符串结束
示例:
End$\b单词边界
示例:
\bword\b 匹配完整单词\B非单词边界
示例:
\Bword\B 不匹配独立单词常用模式
\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b邮箱地址
示例:
user@example.com\b(?:https?://)?(?:www\.)?[a-zA-Z0-9-]+\.[a-zA-Z]{2,}(?:/[^\s]*)?\bURL
示例:
https://www.example.com/path\b1[3-9]\d{9}\b手机号码(中国)
示例:
13812345678\b\d{4}-\d{2}-\d{2}\b日期(YYYY-MM-DD)
示例:
2024-01-15\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\bIP 地址
示例:
192.168.1.1\b\d{3}-\d{4}-\d{4}\b电话号码(带分隔符)
示例:
138-1234-5678\b[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}\bUUID
示例:
550e8400-e29b-41d4-a716-446655440000\b(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}\b强密码(至少8位,包含大小写字母和数字)
示例:
Password123<([a-zA-Z][a-zA-Z0-9]*)(?:\s[^>]*)?>.*?</\1>HTML 标签
示例:
<div class="test">内容</div>使用技巧
性能优化
- • 使用具体字符类代替 .*(如用 \d 代替 .)
- • 避免过度使用回溯(如避免嵌套量词)
- • 使用非捕获组 (?:) 提高性能
- • 锚定模式开头和结尾
调试技巧
- • 从简单模式开始逐步构建
- • 使用在线正则测试工具
- • 分组测试复杂模式
- • 注意转义字符的使用