在线正则表达式测试工具 | 匹配/替换/生成代码 - GoTool在线工具集

高效后端开发工具系列 - 指南与案例

😫 核心痛点

此工具提供在线正则表达式工具,支持文本替换、匹配、生成 Go 代码,并提供常见表达式的说明。。在实际开发中,这些琐碎的转换或配置工作往往消耗大量精力且容易引入错误。GoTool 为此提供了快速、准确且免费的在线解决方案。

💡 功能亮点 & 使用方案

🌟 说明文档

📌 基本字符

| 符号 | 描述 | 示例 | 匹配内容 | |-------|-----------------------------------------|----------------------------------------------|----------------------------------| | . | 匹配任意单个字符(除换行符) | a.b | aab, acb | | \d | 匹配任意一个数字字符 [0-9] | \d\d | 12, 34 | | \D | 匹配任意一个非数字字符 [^0-9] | \D\D | ab, xy | | \w | 匹配字母、数字或下划线 [a-zA-Z0-9_] | \w\w\w | abc, 123 | | \W | 匹配任意非字母、数字或下划线字符 | \W\W | !!, @@ | | \s | 匹配空白字符(空格、制表符、换行符等) | \s | 空格, 制表符 | | \S | 匹配任意非空白字符 | \S\S\S | abc, 123 |

📏 数量限定符

| 符号 | 描述 | 示例 | 匹配内容 | |---------|----------------------------------------|---------------------|---------------------------------| | * | 匹配前面的字符零次或多次 {0,} | a* | 空字符串, a, aa | | + | 匹配前面的字符一次或多次 {1,} | a+ | a, aa, 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 |

🚩 边界匹配符

| 符号 | 描述 | 示例 | 匹配内容 | |-------|-----------------------------|-----------------------|-----------------------------------| | ^ | 匹配字符串的开头 | ^Hello | Hello World! 中的 Hello | | $ | 匹配字符串的结尾 | World!$ | Hello World! 中的 World! | | \b | 匹配单词边界 | \bword\b | a word is here 中的 word | | \B | 匹配非单词边界 | \Bword\B | passwords 中的 word |

🎯 分组与引用

| 符号 | 描述 | 示例 | 匹配内容 | |------------|---------------------------------|---------------------|-----------------------------------| | () | 捕获组,将匹配的子字符串保存为一组 | (abc)+ | abc, abcabc | | (?:...) | 非捕获组,只分组不保存子字符串 | (?:abc)+ | abc, abcabc | | \n | 引用捕获组,n 为组号 | (a)(b)\1\2 | abab |

🔍 字符集与字符类

| 符号 | 描述 | 示例 | 匹配内容 | |------------|------------------------------------------------|---------------------|------------------------------| | [abc] | 匹配 abc 中的任意一个字符 | [abc] | a, b, c | | [^abc] | 匹配除 abc 之外的任意字符 | [^abc] | d, e | | [a-z] | 匹配从 az 的任意小写字母 | [a-z] | a, b, c | | [A-Z] | 匹配从 AZ 的任意大写字母 | [A-Z] | A, B, C | | [0-9] | 匹配任意数字字符 | [0-9] | 1, 2, 3 |

📚 常用模式示例

| 描述 | 正则表达式 | 示例数据 | 匹配结果 | |-------------------|-----------------------------------------|-------------------------------------|------------------------------------| | 📞 匹配电话号码 | \(\d{3}\) \d{3}-\d{4} | (123) 456-7890 | 匹配 | | 📧 验证电子邮件地址 | ^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$ | example@example.com | 匹配 | | 📅 匹配日期格式 | ^\d{4}-\d{2}-\d{2}$ | 2024-08-17 | 匹配 | | 🌐 匹配IP地址 | ^((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]?)$ | 192.168.1.1 | 匹配 | | 🔗 匹配URL | ^https?:\/\/[^\s/$.?#].[^\s]*$ | https://www.example.com | 匹配 | | 🏷️ 匹配HTML标签 | <(\/?[^>]+)> | <div></div> | 匹配 | | 📮 匹配邮政编码 | ^\d{5}(-\d{4})?$ | 1234512345-6789 | 匹配 | | 🎨 提取CSS颜色代码 | #([a-fA-F0-9]{6}|[a-fA-F0-9]{3}) | #ffffff#fff | 匹配 |

⚠️ 转义字符

| 符号 | 描述 | 示例 | 匹配内容 | |-------|--------------------------------------------------------|---------------------|--------------------------------| | \ | 转义字符,用于匹配具有特殊含义的字符本身 | \. | 匹配句号 . |