在JavaScript中,我有一个如下所示的日期格式:

2023-11-02 10:00:00 -0700

我希望只匹配2023-11-02之间-个符号的前两个实例,但不匹配-0700前面的-,然后将其替换为/,以便最终输出为

2023/11/02 10:00:00 -0700

我试着做了一个正则表达式匹配: ("2023-11-02 10:00:00 -0700").replace(/[^\d\:\ ]{1,2}/g, '/');,但仍与-0700前面的-匹配,输出为'2023/11/02 10:00:00 /0700',这是无效的.

推荐答案

您可以使用此正则表达式进行匹配:

/(?<=\d)-(?=\d)/g

这里:

  • (?<=\d)表示在匹配-之前有一个数字.
  • (?=\d)表示匹配-后有一个数字.

那就换成/吧.

RegEx Demo

const s = '2023-11-02 10:00:00 -0700';

var r = s.replace(/(?<=\d)-(?=\d)/g, '/');

console.log(r);

Javascript相关问答推荐

回归函数不会迭代到foreach中的下一个元素

在JavaScript中逐一播放随机生成的音频文件数组

使用Astro和React的动态API

如何在react + react路由域名中使用DeliverBrowserRouter?

我不明白这个react 组件有什么问题

当promise 在拒绝处理程序被锁定之前被拒绝时,为什么我们会得到未捕获的错误?

成帧器运动中的运动组件为何以收件箱开始?

yarn安装一个本地npm包,以便本地包使用main项目的node_modules(ckeditor-duplicated-modules错误)

我不知道为什么setwritten包装promise 不能像我预期的那样工作

从WooCommerce Checkout Country字段重新排序国家,保持国家同步

Angular 17—每当一个布尔变量变为真时触发循环轮询,只要它保持为真

康威的生活游戏规则在我的Javascript版本中不起作用.''我做错了什么?

当id匹配时对属性值求和并使用JavaScript返回结果

React.Development.js和未捕获的ReferenceError:未定义useState

第三方包不需要NODE_MODULES文件夹就可以工作吗?

在VS代码上一次设置多个变量格式

如何在HTMX提示符中设置默认值?

当代码另有说明时,随机放置的圆圈有时会从画布上消失

Phaserjs-创建带有层纹理的精灵层以自定义外观

React Refs不与高阶组件(HOC)中的动态生成组件一起工作