正则代码生成
免费在线使用 正则代码生成 无需安装即可使用工具
关于正则代码生成器
将正则表达式转换为可直接粘贴的匹配代码,支持 JavaScript、Python、Java、Go 或 PHP。它会使用所选标志验证模式,并可选地针对测试字符串运行,预览匹配结果及其索引和命名分组,然后使用每种语言的原生正则 API 生成符合习惯的代码片段。
使用方法
1. 输入正则表达式 Pattern(不含分隔符)。 2. 设置 Flags - 仅接受 g、i、m、s、u、y,其他字符会被自动去除。 3. 选择目标 Language。 4. 可选地粘贴 Test String 以预览匹配结果。 5. 点击 Generate 查看实时匹配结果和生成的代码;使用 Copy 复制代码。
各语言输出
JavaScript:使用 /pattern/flags 字面量,当设置 g 标志时使用 matchAll,否则使用 str.match 并附带命名分组。Python:使用 re.findall/re.finditer,标志映射为 re.IGNORECASE、re.MULTILINE、re.DOTALL、re.VERBOSE、re.ASCII。Java:使用 Pattern.compile + Matcher.find 循环。Go:使用 regexp.MustCompile 配合 FindAllString 和 FindAllStringSubmatchIndex。PHP:使用 preg_match_all 配合 PREG_SET_ORDER,以 /pattern/flags 作为分隔符。
▶为什么出现错误消息?
在代码生成之前,模式会通过 new RegExp(pattern, flags) 进行编译。如果正则表达式无效(例如括号不匹配),解析器错误会以红色显示,并且不会生成代码。
▶没有测试字符串会怎样?
代码仍会针对占位字符串生成,但不会显示 Match Results 面板。只有在提供测试字符串时才会显示实时预览。
▶Python 正则标志会被转换吗?
是的。每个 JS 标志都会映射到对应的 re 模块常量:i -> re.IGNORECASE、m -> re.MULTILINE、s -> re.DOTALL、x -> re.VERBOSE、a -> re.ASCII。不支持的标志会被静默丢弃。
▶会保留命名捕获分组吗?
在 JavaScript 非全局模式下,生成器会输出 match.groups,因此命名分组可见。其他语言通过其原生 API 暴露命名分组(Matcher/FindAllStringSubmatchIndex/preg_match_all matches)。
如果这个工具对你有帮助的话,请考虑请我喝杯咖啡。
请给我买杯咖啡吧。