regex - 算术表达式中的正则表达式数字
问题描述
我想捕获字符串中的所有数字,
例如:
+================+============+
| string | match |
+================+============+
| 5*-33 = 75.3 | 5|-33|75.3 |
+----------------+------------+
| s44+2=7 | 2|7 |
+----------------+------------+
| ii2*-5 = 46 | -5|46 |
+----------------+------------+
| -2*-2.1 = 0.1 | -2|-2.1|0.1|
+================+============+
我尝试使用以下表达式,但它不适用于带符号的数字。
\b([0-9]+(\.\d+)?)\b
解决方案
不要忘记可选的-
. -
不是一个数字,所以你必须单独捕获它。
\b(-?\d+(\.\d+)?)\b
当然,这会对有效表达式产生问题,例如:
4-3
但这似乎是一个不同的问题。
推荐阅读
- sql - 带有 as 表达式的 SQL 显示多个结果
- sql-server - 将数据类型 nvarchar 转换为数字时出错
- java - 登录后谷歌加dialog黑条问题
- angular - 如何通过调用 api 在@ViewChildren 列表中添加新项目?
- java - 如何编写与 Y 或 Z 类型对象的键“x”匹配的 Pact 合约
- laravel - [Route: roles.destroy] 缺少必需的参数
- javascript - Javascript Math.ceil 奇怪的汇总问题
- python - 将字典参数传递给作为参数 Django 呈现模板的问题
- python - python 2d 列表删除目标
- ssl - IBM MQIPT SSL 握手问题