Тема: regex число кратне 10 після коми

Потрібно написати regular expression яке перевірить що число
1) ціле число
АБО
2) кратне 10 після коми (десяті частини одиниці кратні 10)

Поясню на прикладах
91 - підходить, ціле число
91.0 - підходить, ціле число
91.00 - підходить, ціле число
91.01 - не підходить, тому що .01 не кратне 10
91.05 - не підходить, тому що .05 не кратне 10
91.81 - не підходить, тому що .81 не кратне 10
91.80 - підходить, тому що .80 кратне 10
91.40 - підходить, тому що .40 кратне 10

^([0-9]*[.])?[0-9]*0$

Ось мій варіант, але він не працює для цілих чисел

таких як 91, 50, 66, 35, тобто числа без коми. Починає працювати якщо додати кому 91.0, 50.0, 66.0, 35.0

Як це виправити ? Допоможіть написати regular expression

* під комою / крапкою - я маю на увазі розділення числа на цілу та дробову частину 91.0 = 91,0

2

Re: regex число кратне 10 після коми

(([0-9]*[.,])?[0-9]*0)|([0-9]*)

:D

Подякували: Betterthanyou1

3

Re: regex число кратне 10 після коми

А 1. підходить чи ні?
Якщо ні, то трохи простіше

^\d*(\.\d*0)?$

якщо так, то

^\d*(\.(\d*0)?)?$

Звісно, можете замість \d писати [0-9], а замість \. - [.].

Подякували: Betterthanyou, leofun012