Regex, aby dopasować cyfrę dwa lub cztery razy


To jest proste pytanie dotyczące wyrażeń regularnych, ale nie mogę znaleźć odpowiedzi.
Chcę ustalić, czy liczba pojawia się dokładnie w sekwencji

dwa

lub

cztery

czasy. Jakiej składni mogę użyć?
\d{what goes here?}
Próbowałem
\ d {2,4}
, ale to wyrażenie akceptuje również trzy cyfry.
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Nie ma do tego specjalnej składni, ale można to zrobić na wiele sposobów:
(?:\d{4}|\d{2}) <-- alternation: four digits or two
\d{2}(?:\d{2})? <-- two digits, and optionally two more
(?:\d{2}){1,2} <-- two digits, times one or two
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

(?<!\d)(\d{2}|\d{4})(?!\d)

To jest właściwy sposób, aby to zrobić. Przyjęta odpowiedź jest nieprawidłowa.
Dopasuje 3 cyfry (lub 5).

Więc to źle w moich oczach
https://regex101.com/r/GxN7wm/1
.
1) Sprawdź, czy przed sekwencją 2 lub 4 cyfr lub po sekwencji 2 lub 4 cyfr znajduje się cyfra.
  • (& <!)
    składnia ujemna lookbehind
  • Składnia
    (!)
    jest ujemnym wyprzedzeniem.

Te będą działać dla środkowej linii:
Jeśli Twój pasek wyszukiwania nie zawiera żadnej treści wokół niego, możesz użyć kotwic początku i końca linii
^
i
$
:
^\d{4}$|^\d{2}$

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się