2016-09-20 42 views
-3

我正在使用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

+0

[學習正則表達式]的可能的複製(http://stackoverflow.com/questions/4736/learning-regular-expressions) – Biffen

回答

1

您可以使用此模式:

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

它會工作十進制和積分值,因爲(?:\.\d+)?元素,這使得小數點和尾隨號碼可選。你要的號碼是捕獲組1

Demo on Regex101 (based on comment)

+0

測試:HTTPS ://regex101.com/r/vY6hI2/3 –