正则表达式转代码 - 转 JavaScript/Python/Java/Go/PHP

594 字
3 分钟
正则表达式转代码 - 转 JavaScript/Python/Java/Go/PHP

🌟 写好的正则,怎么放进代码#

在正则测试器里调通了一个正则,接下来要写进代码。不同语言的字符串转义、Flags、命名组写法都不同,直接复制容易出错。星点正则转换可以生成各语言代码示例。

本文给出主流语言的写法模板与注意点。


🟨 JavaScript#

const re = /\d{4}-\d{2}-\d{2}/g;
const matches = text.match(re);
// 或构造方式
const re2 = new RegExp('\\d{4}-\\d{2}-\\d{2}', 'g');
  • 字面量 /.../flags 最省心;
  • new RegExp 的字符串里反斜杠要双写。

🐍 Python#

import re
pattern = r"\d{4}-\d{2}-\d{2}"
for m in re.finditer(pattern, text):
print(m.group())
  • 用原始字符串 r"...";
  • re.findall / re.finditer / re.sub 是常用方法。

☕ Java#

import java.util.regex.*;
Pattern p = Pattern.compile("\\d{4}-\\d{2}-\\d{2}");
Matcher m = p.matcher(text);
while (m.find()) {
System.out.println(m.group());
}
  • 字符串里反斜杠双写;
  • Pattern.compile 可传 Flags。

🐹 Go#

import "regexp"
re := regexp.MustCompile(`\d{4}-\d{2}-\d{2}`)
matches := re.FindAllString(text, -1)
  • Go 用反引号原始字符串,最接近”所见即所得”;
  • Go 的正则基于 RE2,不支持反向引用/部分断言,需注意兼容性。

🐘 PHP#

$pattern = '/\d{4}-\d{2}-\d{2}/';
preg_match_all($pattern, $text, $matches);
print_r($matches[0]);
  • 正则写在分隔符(常用 /)之间;
  • 函数 preg_match / preg_replace。

🎯 C##

using System.Text.RegularExpressions;
var matches = Regex.Matches(text, @"\d{4}-\d{2}-\d{2}");
foreach (Match m in matches) Console.WriteLine(m.Value);
  • 用 @"..." 逐字字符串,反斜杠不额外转义。

📋 转义层级对照#

语言正则里的 \d 怎么写
JavaScript 字面量\d
JavaScript 字符串\\d
Pythonr"\d"
Java"\\d"
Go`\d`
PHP'/\d/'
C#@"\d"

🏷 命名组的语言差异#

语言命名组引用
JS(?<name>)$<name> / groups.name
Python(?P<name>)(?P=name)
Java(?<name>)\k<name>
Go不支持命名组引用—

用多语言引擎可查看完整差异。


🔧 常见问题#

正则能直接跨语言复制吗? 基础语法可以;转义层级、命名组、Flags 需按语言调整。
为什么 Go 有些正则用不了? Go 使用 RE2 引擎,为性能与安全放弃了反向引用、部分断言等回溯特性。
能转成 JSON 配置吗? 可以,[正则转换](https://www.xingdian.net/app/regex/convert/)支持输出 JSON 形式。
转字符串有什么用? 当你需要把正则作为数据(而非代码)传递时,需要正确的转义字符串。

💬 总结#

把正则写进代码,先搞清三件事:字符串转义层级、Flags 名称、命名组语法。用正则转换直接生成各语言模板,再微调即可。

立即体验:访问 正则转换

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

最后更新于 2026-09-13,距今已过 33 天

部分内容可能已过时

相关文章 智能推荐
1
Python 和 Java 正则怎么写 - 跨语言正则语法对照
正则工具 Python 和 Java 正则写法对照:原始字符串、命名捕获组、Flags、反向引用、前瞻后顾的差异,附代码示例。帮你把正则正确迁移到目标语言。在线多语言正则工具。
2
正则替换怎么用 - 在线正则表达式批量替换工具
正则工具 正则替换怎么用?在线正则表达式替换工具支持 $1、$&、$<name> 等替换引用,实时显示替换前后文本与替换次数。含日期改写、去空格、加前缀、键值重排等 10+ 场景示例与 FAQ,浏览器本地处理。
3
正则表达式生成器 - 按条件或示例在线生成正则
正则工具 不会写正则?用正则生成器按条件生成:字符类型、长度、前缀后缀、数字范围、固定结构;也能从示例反推候选正则。在线免费,浏览器本地处理。
4
正则表达式测试工具 - 在线测试正则匹配/捕获组(免费)
正则工具 在线正则表达式测试工具:输入正则与文本即时显示是否匹配、匹配数量、高亮、捕获组、命名组与匹配位置,支持 i/g/m/s/u 等 Flags,正则错误精确定位。含正则基础、10+ 实战示例、常见错误排查与 FAQ,浏览器本地处理不上传。
5
正则表达式语法速查表 - 元字符/量词/断言/Flags 大全
正则工具 正则表达式语法速查:元字符、字符类、量词、分组、断言、边界、转义与 Flags 一览,含含义与示例,适合随时查阅。附在线正则速查与测试工具。
随机文章 随机推荐
公告
🎉 已升级 2.0 版本,欢迎使用。
分类
标签
站点统计
文章
197
分类
24
标签
747
总字数
334,099
运行时长
0 天
最后活动
0 天前

目录