Pomoc w zbudowaniu wyrażenia regularnego

0

Cześć
Mam gorąca prośbę o pomoc w zbudowaniu regexa. Próbuję zrobić walidację na polu tekstowym, gdzie będę dopuszczał tylko zero lub liczbę 3 cyfrową niepoprzedzoną zerem lub liczbę czterocyfrową niepoprzedzoną zerem.

Generalnie regex na zero to łatwizna: "^[0]$".
Regex na liczbę trzycyfrową niepoprzedzoną zerem lub czterocyfrową niepoprzedzoną zerem też proste: "^[1-9][0-9]{2}[0-9]?$"

Pytanie z gwiazdką brzmi jak to połączyć w jednym wyrażeniu operatorem "|"? Z pewnych względów zależy mi (jeśli to możliwe) żeby zmieścić to w jednym wyrażeniu (bo wiem, że mógłbym stworzyć dwa oddzielne wyrażenia i porównać string z oboma jak poniżej):

 
if(Regex.IsMatch(text,regex1) && (Regex.IsMatch(text,regex2))
{
   ...instrukcje...
}

Da się połączyć dwa wyrażenia w jednym?

0

Dobra. można zamknąć lub nawet skasować temat. Po prostu było to zbyt proste ;)

odpowiedź brzmi: "(^[0]$)|(^[1-9][0-9]{2}[0-9]?$)"

Pozdrawiam

0

IMHO tak będzie jeszcze prościej: (^0$)|(^[1-9]\d{2,3}$).

1 użytkowników online, w tym zalogowanych: 0, gości: 1