gpt4 book ai didi

正则表达式匹配多个点

转载 作者:行者123 更新时间:2023-12-04 14:31:27 25 4
gpt4 key购买 nike

[编辑]我对正则表达式比较陌生,现在我面临一个用例,其中目标字符串应恰好包含一个点 '.'。更具体地说,我正在进行浮点检测,我认为应该只包含一个点和一个指数“e”。

我的正则表达式现在看起来像这样:(?=.*[0-9]{1,})(?=.*[\.][0-9])(?=.*[eE ][+-]?[1-9])。它似乎在处理测试字符串,例如:

2.1E12  
3.141E23

但是一旦我测试了:

1.15E10.34

还是过去了。

有谁知道我在这里做错了什么?还有人可以推荐一个学习正则表达式的好资源吗?

谢谢!

最佳答案

要验证表示为字符串的 float ,请使用以下模式:

^[0-9]*\.[0-9]+([eE][0-9]+)?$

这将验证您拥有:

  1. 小数点前 0 位或更多位,除此之外别无其他。
  2. 精确一位小数。
  3. 小数点后至少一位(1.不接受样式 float )
  4. 如果您有一个 E,则它后面有一个或多个数字(并且只有数字)。

当然,这假设字符串只是您要测试的数字,正如您的问题所暗示的那样。如果是这种情况,我们可以消除任何环顾四周的需要。

根据您的语言,简单地尝试将字符串转换为 float 并捕捉失败可能更优雅。

关于正则表达式匹配多个点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33056480/

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