Pokud chcete opravdu RV použít, tak doporučuji:
^\d{1,3}(\.\d{1,3})*$
String pak rozparsujte pomocí:
Dim casti() = "45.345.3.214.456".Split('.')
Tento příkaz Split rozdělí řetězec podle teček do pole. To můžete pak kontrolovat v jeho délce (casti.Length) a nebo jednotlivné segmenty převádět na čísla (Integer.Parse(casti(0))). Rozhodně nedoporučuji snažit vše kontrolovat regulárním výrazem. Má pomoci při parsování, ne sloužit jako univerzální prostředek, který nahradí všechny ostatní metody. V tomto případě bych se možná přikláněl k nepoužití RV. Text podle teček rozparsujete, zkontrolujete délku pole na sudost hodnot a jednotlivé políčka zkusíte převést na číslo u kterého zkontrolujete rozsah 0-999.
|