当前位置: 首页 > 知识库问答 >
问题:

RegEx同时用于整数和浮点数[closed]

赫连智
2023-03-14

我需要一个regex来匹配这两个整数值和浮点数(而浮点数有一个“.”作为分离器)。这些数字总是在一个括号中,可能有一个前导的“+”。

什么应该是有效的:

    null

什么应该是无效的:

  • 1.0---因为没有括号
  • 5---因为没有括号
  • (1,5)---becaue“,”而不是“.”
  • (a)---因为不是一个数字
  • (1.5)--因为不仅仅是一个数字
  • (1+5)---因为...嗯...只是失败了
  • [5]---因为括号错误

共有1个答案

阮轶
2023-03-14

这应该适用于大多数perl(如regex)引擎:

/(\d+(?:\.\d+)?)/
 类似资料:
  • 我的问题是,是否有一种方法可以在不通过堆栈的情况下完成所有这些操作。x86_64是否有将xmm0的内容复制到eax或其他通用寄存器的内插? 编辑:问题本身在讨论过程中发生了变化。最后有两个备注,在这两个备注中,我都引用了Intel C++复杂参考的相应部分。 > 可以使用intrinsics在通用Regiter和XMM寄存器之间移动数据(“Steaming SIMD Extensions->流式S

  • 所有数字都更改为浮点,带有一个<代码>。0连接到末尾。 我试过parseInt、toFixed、round、floor和其他所有明显的选择。 一个简单的例子: 日志显示“Number”类型的浮点值,长度值为5.0。 任何添加数字的尝试都会导致相同的结果 日志仍显示浮点值 我希望返回一个整数

  • 问题内容: 我有以下代码 这是输出 现在我意识到float和int是不同的,但是考虑到四舍五入,我本来希望两个值匹配。我已经通过强制转换为int解决了它。 所以我的问题是,为什么这个比较不能像我期望的那样工作(两个值都匹配)? 问题答案: 请注意PHP手册中的 红色大警告 ! 比较浮点数时不要指望任何东西。即使精度为0,舍入结果仍然是浮点数。在您的特定情况下,碰巧结果要比预期的大一点,因此强制转换

  • 我不明白为什么浮点值与双精度值不同。从下面的示例来看,对于相同的操作,float 提供的结果似乎与双精度型不同: 输出: 你能解释一下float和double之间的区别吗?

  • 问题内容: 我正在做s和s的乘法和除法,但我忘记了隐式转换规则(问题中的单词似乎太含糊,以至于Google不能比在这里问得更快)。 如果我有两个s,但我想进行浮点除法,是否只需要强制转换一个或两个操作数?如何相乘-如果我将a 和an 相乘,答案是a 吗? 问题答案: 您不能将结果除以a ,反之亦然。 因此答案是: 如果我有两个s,但是我想做浮点除法…? 一个演员就足够了。 如果我将a 和an 相乘

  • 问题内容: 这是故意的吗?我强烈记得以前的版本返回了吗?我该怎么办,有没有新的分公司运营商,或者我必须始终选拔? 问题答案: 更改除法运算符