无需登录 数据私有 本地保存

正则高尔夫求解器 - 最短匹配挑战

15
0
0
0

正则高尔夫求解器

最短匹配挑战 — 用最精简的正则表达式精准命中目标
当前长度
0
最佳: --
Should Match 0/0
    Should NOT Match 0/0
      / /
      输入正则表达式开始挑战,观察上方列表的实时匹配结果。
      常见问题 & 正则知识点
      什么是正则高尔夫(Regex Golf)?
      正则高尔夫是一种编程趣味挑战:给定两组字符串(一组需要匹配,一组需要排除),目标是写出最短的正则表达式,使其能匹配所有"应该匹配"的字符串,同时不匹配任何"不该匹配"的字符串。它考验对正则表达式的理解深度和创造性。
      如何计算正则表达式的长度?
      本工具计算的是正则表达式模式字符串的实际字符数(不含前后斜杠和标志)。例如 /^[aeiou]/ 的长度为 8(即 ^[aeiou] 这8个字符)。正则高尔夫追求用最少的字符完成精准匹配。
      常用的缩短正则技巧有哪些?
      • 字符类:[aeiou](a|e|i|o|u)
      • 反向引用:(.)\1 匹配重复字符,比枚举所有可能短得多
      • 量词:\d+[0-9][0-9]* 更简洁
      • 锚点:合理使用 ^$ 可以避免冗长的排除模式
      • 简写:\w\d\s 等预定义类通常比手写字符类短
      这个工具如何帮助学习正则表达式?
      通过游戏化的挑战,你需要在约束条件下思考正则的精确语义。实时反馈让你立即看到每个字符串的匹配结果,从而直观理解贪婪匹配、边界、字符类、分组等概念。不断追求更短的正则也能激发创造性思维。
      为什么我的正则表达式显示"无效"?
      如果正则表达式存在语法错误(如未闭合的括号 (、未闭合的方括号 [、无效的量词等),JavaScript 会抛出 SyntaxError。工具会捕获该错误并在输入框下方显示具体提示。请检查括号配对和特殊字符的转义。
      自定义关卡怎么玩?
      在关卡选择器中选择"自定义挑战",然后分别在两个文本框中输入你想要匹配和不匹配的字符串(每行一个)。工具会实时测试你输入的正则表达式,你可以和朋友互相出题挑战!