如何通过REGEX捕获行中的最后一笔金额

时间:2016-09-20 16:20:46

标签: regex

我正在研究REGEX模式以捕获行中的最后一个数量。字符串看起来像:

Ben
1x 1.32 1.32 OK

Mark
3x 0.50 1.50 FAIL

Johny
2x 1.20 2.40 OK

我无法编写模式来捕获最后一笔金额。在最后一笔金额之后问题是“OK”和“FAIL”字符串。我不知道REGEX如何处理它们。

enter image description here

这三个点只是暂时的解决方案,向您展示它应该如何工作 - 它也应该捕获1.50的数量。

请看一下: https://regex101.com/r/vY6hI2/1

1 个答案:

答案 0 :(得分:1)

您可以使用此模式:

(\d+(?:\.\d+)?)\s+(?:OK|FAIL)$

它适用于十进制和整数值,因为(?:\.\d+)?元素使得小数点和尾随数字可选。您想要的数字是捕获组1。

Demo on Regex101 (based on comment)