Próbuję sprawdzić dane wejściowe użytkownika, które są po prostu oddzielone przecinkiem numery. Chciałbym to zrobić z RegEx, ale nie mogę wymyślić właściwego wyrażenia.Regex dla Comma Separated Number
Należy zweryfikować następujące ciągi (i większe):
1
12
123
1,234
12,345
123,456
i unieważnić następujące ciągi (i szalony):
1,1
1,12
12,1
12,12
123,1
123,1
Każda pomoc będzie mile widziana.
Oto co próbowałem tej pory (EDIT: które nie działają), wraz z kilkoma wariantami ->
^(((\d{1,3},)*\d{3})|(\d{1,3}))$
^(\d{1,3}[,])*\d{3}|\d{1,3}$
+1 Ładnie wykonane. Moja jedyna krytyka: ponieważ to wyrażenie regularne służy wyłącznie do sprawdzania poprawności, powinieneś zmienić tę grupę przechwytywania, aby była grupą niezarejestrowaną. –
Dobra uwaga, ale zawsze mi przeszkadzało, że zrobienie grupy non-capture sprawia, że regex jest bardziej brzydki. –
patrząc na oryginalne wyrażenie regularne wygląda na oświetlony ciąg jak 12,1,123 jest legalny ((\ d {1,3},) * \ d {3}), co powyższe nie spełnia –