CoderTools

正则表达式测试

测试和调试正则表达式,即时查看匹配结果

匹配结果

未找到匹配

                    

匹配详情

输入正则表达式模式和测试文本以查看详细匹配信息
/ /

快捷模板

替换功能

使用 $1, $2 等表示捕获组

                        
sed 's/pattern/replacement/g' input.txt
This sed command can be used in Unix/Linux/macOS terminal or Git Bash on Windows

正则表达式测试工具文档

正则表达式标志

g
全局
查找所有匹配,而不只是第一个
i
忽略大小写
不区分大小写的匹配
m
多行
^ 和 $ 匹配行边界

常用正则表达式模式 - 速查手册

字符类

\\d 任意数字 (0-9)
等同于 [0-9]
\\D 任意非数字字符
\\w 单词字符 (a-z, A-Z, 0-9, _)
等同于 [a-zA-Z0-9_]
\\W 任意非单词字符
\\s 空白字符(空格、制表符、换行符)
包括空格、\t、\n、\r、\f、\v
\\S 任意非空白字符
. 除换行符外的任意字符
[abc] 集合中的任意字符
[^abc] 不在集合中的任意字符

量词

* 0次或多次(贪婪)
贪婪模式:尽可能多地匹配
+ 1次或多次(贪婪)
? 0次或1次(可选)
{n} 恰好n次
{n,} n次或更多次
{n,m} n到m次之间
*? 懒惰量词
在量词后加 ? 使其非贪婪

锚点和边界

^ 行/字符串的开始
$ 行/字符串的结束
\\b 单词边界
位于 \w 和 \W 之间
\\B 非单词边界

分组和环视(高级)

(abc) 捕获组
捕获匹配文本用于反向引用($1, $2...)
(?:abc) 非捕获组
仅分组不捕获(性能更好)
(?=abc) 正向前瞻
示例:\d(?=px) 匹配后面跟着 'px' 的数字
(?!abc) 负向前瞻
(?<=abc) 正向后顾
(?<!abc) 负向后顾

特殊字符(需转义)

使用反斜杠(\)转义以匹配字面值: . * + ? ^ $ { } [ ] ( ) | \
示例:\. 匹配字面上的点,\* 匹配字面上的星号

实际示例

邮箱地址验证

[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}

匹配:一个或多个有效字符,然后是@,域名,以及2位以上的字母扩展名。

匹配 user@domain.com, test.email+tag@example.org

电话号码(美国格式)

\\(?([0-9]{3})\\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})

捕获区号、交换机号和号码,支持灵活的格式。

匹配 (555) 123-4567, 555.123.4567, 555-123-4567

URL匹配

https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)

匹配HTTP/HTTPS网址,支持可选的www前缀和各种路径格式。

匹配 https://example.com, http://www.site.org/path

强密码验证

^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d@$!%*?&]{8,}$

要求至少8个字符,包含小写、大写和数字。

匹配 Password123, MyStr0ngP@ss

高级功能

捕获组
使用括号()捕获匹配的部分用于替换
([0-9]{4})-([0-9]{2})-([0-9]{2})
前瞻/后瞻
基于前面/后面的内容进行匹配但不包含它们
(?=.*password)
非捕获组
使用(?:pattern)进行分组但不捕获
(?: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
示例:模式:error
结果:打印所有包含 'error' 的行

Replace Mode (With Replacement)

When replacement text is provided, generates a substitution command.

sed 's/pattern/replacement/flags' input.txt
示例:模式:foo,替换:bar
结果:将所有 'foo' 替换为 'bar'
Note: Special characters are automatically escaped. The generated command works in Unix/Linux/macOS terminals and Git Bash on Windows.

快捷菜单

暂无访问记录