正则表达式转代码 - 转 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 |
| Python | r"\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 一览,含含义与示例,适合随时查阅。附在线正则速查与测试工具。
随机文章 随机推荐