javascript Regex如何匹配Date Time字符串中特定字符的前2个示例

bnl4lu3b  于 2023-10-14  发布在  Java
关注(0)|答案(1)|浏览(85)

在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',这是无效的。

f0brbegy

f0brbegy1#

你可以使用这个正则表达式进行匹配:

/(?<=\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);

相关问题