2010-10-19 254 views
0

我想正則表達式來找出一個數是否被10整除或5.因此,基本上,我想看看以0或5如何使用正則表達式來確定一個無號數是否可以被5整除?

數量到底是否這是我的正則表達式 ^[1-9]*0?.0$

輸入爲100.0或55.0時遇到問題

正則表達式應該是什麼?

感謝, 桑迪

+7

你爲什麼是我們正則表達式做數學? – chigley 2010-10-19 21:36:24

+2

有些人在看到問題時,會想「我知道,我會用正則表達式」。現在他們有兩個問題。 – 2010-10-19 21:38:10

+0

請不要用正則表達式來做這件事。 – quakkels 2010-10-19 21:47:53

回答

1

如果必須做到這一點與正則表達式出於某種原因,那麼答案是:

/^\d*[05]\.0$/ 
  1. 任意數量的數字開頭(包括沒有)
  2. A'0'或'5'
  3. A'。' (注意反斜線因爲逃避。是一個正則表達式元字符)
  4. A '0'
  5. 結束串的
2

爲什麼不能簡單地做

bool isDivisibleBy5 = ! (number % 5); 

? (你沒有指定你使用的是什麼語言,但是如果你來自C-ish背景,那麼該語法至少應該被理解。)

+0

爲了去那個數學路線+1) – 2010-10-20 12:40:50

1

如果你知道你正在傳遞整數字符串,那麼沒有必要檢查任何其他數字,年底或小數點前的數字僅僅是5或0。此外,我讓0的小數點之後的任何金額,因爲這仍然是整除5

/[05](?:\.0+)?$/ 
1

嘗試此表達式

^([1-9] {1,9} [05] +)| 5 $

相關問題