(\d+)[^0-9]+(\d+)[^1-9]+(\d+)
上面的表达式可以识别三组连续的整数。那么它如何识别小数呢?
例如:
234.34 x 455.44 x 455.33
结果:
(1) 234.34 (2) 455.44 (3) 455.33
答案1
如果总是有 3 组,则使用:
(\d+(?:\.\d+)?)\D+(\d+(?:\.\d+)?)\D+(\d+(?:\.\d+)?)
这将匹配 3 组浮点数/整数。
扩展:
( # start group 1
\d+ # 1 or more digits
(?: # start non capture group
\. # dot
\d+ # 1 or more digits
)? # end group, optional
) # end group 1
\D+ # 1 or more non digits
对于正则表达式的其余部分的解释相同。
如果只想匹配浮点数(而不是整数),请使用:(\d+\.\d+)\D+(\d+\.\d+)\D+(\d+\.\d+)