gpt4 book ai didi

javascript - 匹配 float 但不匹配由点分隔的日期

转载 作者:行者123 更新时间:2023-11-30 14:36:22 25 4
gpt4 key购买 nike

我正在尝试构建一个可以在字符串中找到 float (使用点或逗号作为小数点分隔符)的正则表达式。我最终得到以下结果:

/([0-9]+[.,]{1}[0-9]+)/g

这似乎工作正常,期望它匹配由 . 分隔的日期:

02.01.2000 // Matches 12.34

我已经尝试过 ([0-9]+[.,]{1}[0-9]+)(?![.,]) 但它不起作用,因为我期待它:)

如何省略日期大小写,但仍然通过以下场景:

I tried some stuff 12.23
D12.34
12.34USD
2.3%
12,2
\n12.1

最佳答案

您可以通过交替使用此正则表达式:

(?:\d+\.){2}\d+|(\d+[.,]\d+)

从捕获的第 1 组中提取您的匹配项

此正则表达式基本上匹配并丢弃交替左轴上的日期字符串,然后匹配并捕获交替右轴上的 float 。

RegEx Demo

代码:

const regex = /(?:\d+\.){2}\d+|(\d+[.,]\d+)/gm;
const str = `I tried some stuff 12.23
D12.34
12.34USD 02.01.2000
2.3%
12,2 02.01.2000
\\n12.1`;
let m;
let results = [];

while ((m = regex.exec(str)) !== null) {
if (m[1])
results.push( m[1] );
}

console.log(results);

关于javascript - 匹配 float 但不匹配由点分隔的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50377007/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com