正则表达式测试
测试和调试正则表达式,即时查看匹配结果
匹配结果
匹配详情
快捷模板
替换功能
sed 's/pattern/replacement/g' input.txt
正则表达式测试工具文档
正则表达式标志
g
i
m
常用正则表达式模式 - 速查手册
字符类
\\d
任意数字 (0-9)
\\D
任意非数字字符
\\w
单词字符 (a-z, A-Z, 0-9, _)
\\W
任意非单词字符
\\s
空白字符(空格、制表符、换行符)
\\S
任意非空白字符
.
除换行符外的任意字符
[abc]
集合中的任意字符
[^abc]
不在集合中的任意字符
量词
*
0次或多次(贪婪)
+
1次或多次(贪婪)
?
0次或1次(可选)
{n}
恰好n次
{n,}
n次或更多次
{n,m}
n到m次之间
*?
懒惰量词
锚点和边界
^
行/字符串的开始
$
行/字符串的结束
\\b
单词边界
\\B
非单词边界
分组和环视(高级)
(abc)
捕获组
(?:abc)
非捕获组
(?=abc)
正向前瞻
(?!abc)
负向前瞻
(?<=abc)
正向后顾
(?<!abc)
负向后顾
特殊字符(需转义)
. * + ? ^ $ { } [ ] ( ) | \
实际示例
邮箱地址验证
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}
匹配:一个或多个有效字符,然后是@,域名,以及2位以上的字母扩展名。
电话号码(美国格式)
\\(?([0-9]{3})\\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})
捕获区号、交换机号和号码,支持灵活的格式。
URL匹配
https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)
匹配HTTP/HTTPS网址,支持可选的www前缀和各种路径格式。
强密码验证
^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d@$!%*?&]{8,}$
要求至少8个字符,包含小写、大写和数字。
高级功能
([0-9]{4})-([0-9]{2})-([0-9]{2})
(?=.*password)
(?:http|https)://
技巧和最佳实践
- 从简单开始,逐步增加复杂度
- 使用全局标志(g)查找所有匹配
- 用反斜杠(\)转义特殊字符
- 用各种输入示例彻底测试
- 使用捕获组进行复杂替换
- 处理大文本时考虑性能
sed Command Generation
This tool automatically generates equivalent sed commands based on your regex pattern and replacement text, making it easy to use regex in Unix/Linux command line.
Search Mode (Empty Replacement)
When replacement text is empty, generates a search command to print matching lines only.
sed -n '/pattern/p' input.txt
errorReplace Mode (With Replacement)
When replacement text is provided, generates a substitution command.
sed 's/pattern/replacement/flags' input.txt
foo,替换:bar