gpt4 book ai didi

javascript - 匹配字符串中带有小数分隔符的数字

转载 作者:行者123 更新时间:2023-11-30 16:25:07 28 4
gpt4 key购买 nike

这将符合我的要求:

/\d+\.\d+/

这将在字符串的开头匹配它:

/^\d+\.\d+$/

这是单词边界:

/\b\d+\.\d+\b/

我想像这样匹配数字:

1.00000 // true
1.0000 // true
1.0000 // true
bla1.0000 // true
1.0000bla // true
27.05.1989 // false (date)

最佳答案

您只能借助以下正则表达式来实现:

(?:^|[^\d.])(\d+\.\d+)(?![.\d])

参见 regex demo

var re = /(?:^|[^\d.])(\d+\.\d+)(?![.\d])/gm; 
var str = '1.00000\n // true\n1.0000\n // true\nbla1.0000\n // true\n27.05.1989\n // false (date)';
var m;

while ((m = re.exec(str)) !== null) {
document.getElementById("r").innerHTML += m[1] + "<br/>";
}
<div id="r"/>

正则表达式解释:

  • (?:^|[^\d.]) - 匹配字符串开头 (^) 或数字和文字点以外的字符
  • (\d+\.\d+) - 匹配并捕获到第 1 组中 1 个或多个数字后跟一个文字点,然后是 1 个或多个数字
  • (?![.\d]) - 确保浮点值后没有 . 或数字

关于javascript - 匹配字符串中带有小数分隔符的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34219541/

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