Piszę właśnie lekką bibliotekę do wyrażeń regularnych i mam problem.
Według kolegów, natrafia się czasem wyrażenie regularne którego cześć (grupa - capturing group) ma być tylko liczbą, chciałbym wtedy żeby użytkownicy tej biblioteki nie musieli się martwić parsowaniem. Wszyscy wiemy że PHP ma swoje smaczki typu 1e3
(czyli 100
) oraz to że 1
(jeden i spacja) to też poprawny integer, więc ja chciałem takie "inty" traktować wyjątkiem IntegerFormatException
. Wszystko ok.
Problem mam z zerami wiodącymi, jeśli ktoś sobie zrobi wyrażenie regularne /[0-9]+/
, to oczywiście liczba "000"
spełnia warunek. Na razie zaprogramowałem to tak że zamieniając "000"
na inta (przy użyciu mojej bilioteki) dostaniemy 0
.
Co myślicie, "000"
to poprawny int? Czy też powinien rzucić IntegerFormatException
?