/ / Regex pre 9-ciferné telefónne číslo dot-separated - regex

Regex pre 9-ciferné telefónne číslo dot-separated - regex

Chcel by som zistiť, či telefónne číslo obsahuje presne 3 číslice - bodka - 3 číslice - bodka - 3 číslice. (Napr. 123.456.789)

Zatiaľ to mám, ale to nefunguje:

^(d{3}){2}d{4}$

odpovede:

1 pre odpoveď č. 1

Všimnite si, že ušlý držiak ) stratí svoj zvláštny význam v regexe a vzor sa stáva neplatným, pretože skupina zachytenia nie je zatvorená.

Ak chcete priradiť bodku s regexom, musíte ju zaradiť do vzoru a ak hovoríte, že 3 číslice musia byť na konci, nemá zmysel deklarovať 4 číslice d{4}.

^(d{3}.){2}d{3}$
^       ^

alebo ak rozšírime prvú skupinu:

^d{3}.d{3}.d{3}$

Takže všetky opravy pozostávajú z pridania tečky po druhom spätnom lomítku a nastavenia konečného obmedzujúceho kvantifikátora.

Všimnite si, že pre väčšinu obáv týkajúcich sa "štylistiky" (keďže efektívnosť je zanedbateľná) by som použil nezachytávaciu skupinu s prvým variantom regexu:

^(?:d{3}.){2}d{3}$