Reguláris kifejezés magyarázattal

Leírod szavakkal és példákkal, mit kell megtalálni, és kapsz egy reguláris kifejezést részenkénti magyarázattal, tesztesetekkel és a határesetek jelzésével.

FejlesztésKezdőAjánlott eszközök: ChatGPT, Claude, GeminiFrissítve:

Töltsd ki a saját adataiddal

A sárgával jelölt részeket cseréld a saját adataidra.

Írj reguláris kifejezést. Hol fogom használni (nyelv vagy eszköz): [KÖRNYEZET] Mit kell megtalálnia vagy ellenőriznie: [FELADAT] Példák, amikre illeszkednie kell: [ILLESZKEDŐ PÉLDÁK] Példák, amikre nem szabad illeszkednie: [NEM ILLESZKEDŐ PÉLDÁK] Mire használom az eredményt (ellenőrzés, kinyerés, csere): [CÉL] Kérem: 1. A kifejezést a megadott környezet szintaxisában, a szükséges kapcsolókkal. 2. Részenkénti magyarázatot: melyik darab mit csinál. 3. Egy táblázatot az összes megadott példával: illeszkedik-e, és ha kinyerésről van szó, mit ad vissza. 4. Öt további határesetet, amire nem gondoltam (ékezet, szóköz az elején vagy a végén, üres bemenet, kis- és nagybetű, sortörés), és hogy azokra mit csinál. 5. Ha a feladatra a reguláris kifejezés rossz eszköz (például e-mail-cím teljes ellenőrzése, HTML feldolgozása, dátum érvényessége), mondd meg, és javasolj jobbat. Szabályok: a legegyszerűbb működő megoldást add, ne a legrövidebbet. Ha a példáim ellentmondanak egymásnak, kérdezz. Jelezd, ha a kifejezés nagy bemeneten lassú lehet.

EllenőrzésCtrl + Enter: másolás

Példa: kitöltve, mintaválasszal

Környezet
JavaScript, űrlapmező ellenőrzése a böngészőben
Feladat
Magyar mobiltelefonszám ellenőrzése
Illeszkedő példák
+36 30 123 4567, 06301234567, 06-70-123-4567, +36201234567
Nem illeszkedő példák
0630123456 (rövid), +36 1 234 5678 (vezetékes), 30 123 4567 (nincs előtag)
Cél
Ellenőrzés beküldés előtt
Mintaválasz (Claude)
const mobil = /^(?:\+36|06)[ -]?(?:20|30|31|50|70)[ -]?\d{3}[ -]?\d{4}$/;

Részenként

  • ^ és $: a teljes mezőnek illeszkednie kell.
  • (?:\+36|06): nemzetközi vagy belföldi előtag.
  • [ -]?: opcionális szóköz vagy kötőjel.
  • (?:20|30|31|50|70): mobilszolgáltatói körzetszámok.
  • \d{3}[ -]?\d{4}: a hét számjegy, 3+4 tagolással.

A példáid

Bemenet Illeszkedik?
+36 30 123 4567 igen
06301234567 igen
06-70-123-4567 igen
+36201234567 igen
0630123456 nem
+36 1 234 5678 nem
30 123 4567 nem

További határesetek

  • Szóköz a végén („06301234567 ”): nem illeszkedik. Ellenőrzés előtt vágd le a szóközöket (trim()).
  • „0036 30…” előtag: nem illeszkedik; ha kell, bővítsd.
  • „+36 30 12 34 567” (más tagolás): nem illeszkedik.
  • Zárójeles forma, „(30)”: nem illeszkedik.
  • Üres mező: nem illeszkedik; ha a mező nem kötelező, ezt külön kezeld.

Megjegyzés: a körzetszámok listája változhat. Egyszerűbb és tartósabb megoldás, ha előbb minden nem számjegy karaktert eltávolítasz, majd a számjegyek számát és az előtagot ellenőrzöd.

Szemléltető minta, Claude segítségével készült: azt mutatja, milyen jellegű és felépítésű válaszra számíthatsz. A többi ajánlott eszközzel a prompt várhatóan ugyanígy használható, de nem mindegyikben próbáltuk ki. A te eredményed más lesz. Hogyan készülnek a példák?

Miért működik?

A reguláris kifejezés ritkán a megírásnál romlik el; a határeseteknél. A prompt ezért illeszkedő és nem illeszkedő példákat is kér, a modell pedig táblázatban végigmegy rajtuk, és hoz öt olyan esetet, amire nem gondoltál.

Az ötödik pont a legértékesebb: sok feladatra van egyszerűbb, olvashatóbb megoldás, és ezt egy jó kolléga megmondaná.

Mire figyelj?

  • A táblázatot a modell fejben tölti ki, és tévedhet. Futtasd le a példákat a saját környezetedben.
  • A szintaxis nyelvenként eltér (például a visszautalások és a Unicode-kezelés). Mindig add meg, hol használod.

Folytasd ezekkel

Ugyanabban a beszélgetésben küldd el, a válasz után.

  • Írd át úgy, hogy a körzetszámot és a hét számjegyet külön csoportban adja vissza.
  • Magyarázd el ezt a kifejezést, amit a kódban találtam: [illeszd be]

Kapcsolódó promptok

Összes fejlesztés prompt

Funkció specifikálása kódolás előtt

Mielőtt kódot kérnél az AI-tól, írasd meg vele a tervet. A prompt kérdésekkel tisztázza az ötletedet, majd rövid specifikációt készít elfogadási feltételekkel.

Fejlesztés

Kódátnézés beküldés előtt

Tapasztalt kollégaként nézi át a módosításodat: hibák és biztonsági gondok súlyosság szerint, konkrét sorral és javítási javaslattal, ízlésbeli szőrszálhasogatás nélkül.

Fejlesztés