2017-09-08 26 views
1

https://regex101.com/ < - 對於那些想測試正則表達式的人。如何正確使用正則表達式?

我工作的印尼價格分析器。

說,我下面的例子:

1)150ķ
2)150千字節
3)150か
4)150 K2
5)150 K)
6)150ķ。

我們知道1),5),6)可以是價格,而遺體顯然不可能。
我的正則表達式是有點複雜的現實,但爲了簡單起見,

比方說,我的正則表達式是:[0-9] +(\ S * [K])

這捕獲1)至6),所有的他們。所以我把[^ 0-9a-zA-Z]寫成正則表達式:[0-9] +(\ s * [k])[^ 0-9a-zA-Z]

現在我得到了1 ),5),6),這很好。

然而,問題是...他們喜歡不必要的後綴[)]

如何可以解析只是「150 K」不喜歡任何後綴[)],其價格信息是沒有關係?

我應該有一個更進程中取得5後),6)手動擺脫這些就足夠了嗎?

預先感謝您的任何想法。

+0

@Adrian - 你不應該刪除轉到標籤。正則表達式要求使用編程語言 - 「由於正則表達式沒有完全標準化,所有帶這個標籤的問題都應該包含一個指定適用編程語言或工具的標籤」。很多東西都沒有在re2中實現,所以Go標籤很有用。謝謝! – Kobi

+0

然後應該在問題主體中提到,而不僅僅是在標籤中。沒有提到任何身體,標籤是毫無意義的。 – Adrian

回答

2

我認爲(\d+\s*k)\b將成爲你的目的。它會檢查'k'是否達到字邊界。這個字邊界可以是任何東西,是的,甚至是)。看看這個example