-
Fototrend

Új hozzászólás Aktív témák
-
bLaCkDoGoNe
veterán
Köszönöm!

Megnyugtat, hogy úgy látom alapvetően jó volt az elképzelésem, csak szokás szerint kicsit túlbonyolítottam a dolgot (pl. azzal, hogy mindent csoportokba rendeztem) – ez meg gondolom majd idővel meg a megszerzett rutinnal változik majd.1. Jogos, látom én is. Azt hittem, hogy jobban át tudom majd tekinteni, hogy mi hova tartozik, de leginkább csak jól összezavartam magam vele.
2. + 3. A \b-vel szerettem volna a string végét ellenőrizni, de valami érthetetlen okból nem a végére raktam. (Persze lehet, hogy ott sem lett volna jó helyen. Szerk.: ott sincs jó helyen, nem jól értelmeztem, hogy mit csinál a \b.)
4. Ó basszus, valóban! *homlokra csapós szmájli* Erre magamtól biztosan nem jövök rá. Itt is a saját dugámba dőltem, mert itt pont azért használtam tartományt \d helyett, hogy akkor majd jobban szembetűnik, hogy ott két opció közül kell egyet megtalálni.#17686 dabadab: Neked is hálás köszönetem!
Sikerült magamnak egy amúgy is nehezen átlátható kérdéskört egészen túlbonyolítanom olyan dolgokkal, amikről azt hittem, hogy majd segítenek (például a capturing group-okkal).Külön hálás vagyok mindkettőtöknek a hozzáfűzött magyarázatokért, sokat tanultam belőlük.
Leginkább arról, hogy bőven van itt még gyakorolni való... -
bLaCkDoGoNe
veterán
Szuper, köszi.

A freeCodeCamp-en a Javascript blokkot csinálom, és az egyik projekt feladat az, hogy kell írni egy telefonszám formátum ellenőrző függvényt, ami a megadott számsorozatot adott szempontok szerint validálja, és visszaköp egy boolean-t eredményül.
Elsőre úgy gondoltam, hogy ezt regex-szel lenne a legegyszerűbb megoldani, úgy, hogy egy viszonylag komplex kifejezéssel ellenőrizném az összes szükséges szempontot, de két napja szuggerálom a megírt regex-emet, mert két teszteset elbukik rajta, és egyszerűen nem látom, hogy hol megy félre. A legvalószínűbb persze, hogy mivel most tanulom a dolgot, hülyeséget csináltam valahol, bár a regex101.com-on végigzavarva olyan nagy marhaságot elsőre nem találtam benne, lehet hogy egyszerűen valahol rosszul tagoltam valamit például, ami működik így is, csak nem a szándékaim szerint.
A regex, amit összeraktam, így néz ki:
/(^(1))?(\s)?((\([0-9]{3}\))*|\d{3})(\s|[-])?(\d{3})(\s|[-])?(\b\d{4})/
és szándékaim szerint az alábbiakat ellenőrizné:
- opcionálisan 1-essel kezdődik-e a szám
- az egyes után opcionálisan whitespace
- van egy három számot tartalmazó blokk zárójelek között VAGY zárójelek nélkül
- ezt követően opcionális whitespace vagy kötőjel
- ezt követően három számot tartalmazó blokk
- ezt követően opcionális whitespace vagy kötőjel
- végül egy négy számot tartalmazó blokk.Ez a két testcase nem az elvárt eredményt adja vissza:
telephoneCheck("5555555555") should return true.
telephoneCheck("555-5555") should return false.Tudnátok valami iránymutatást adni, hogy hol van a hiba abban, amit csináltam? Vagy eleve lehetetlen az összes teszt esetet egy regex-szel lekezelni, és egy többszintű, elágazó szűrést kellene csinálnom több kifejezéssel?
Köszi a segítséget.

-
bLaCkDoGoNe
veterán
Sziasztok, nem tudom, hogy regex-es kérdés belefér-e a topikba? Nem találtam neki dedikált általános témát, csak néhány konkrét problémát feszegető kérdést, de a legfrissebb is majd' 10 éves már.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Formula-1
- TCL LCD és LED TV-k
- GoodSpeed: Daikin FTXF35E / RXF35F Sensira 3,3 kW Inverteres klíma - a Sztori
- Házimozi haladó szinten
- Gyúrósok ide!
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- One otthoni szolgáltatások (TV, internet, telefon)
- iPhone topik
- Kerékpárosok, bringások ide!
- Xiaomi 15 - kicsi telefon nagy energiával
- További aktív témák...
- Apple MacBook Pro 16 (2021) 16GB/512GB használt, karcmentes 87% akku, 191 ciklus
- billentyűzetek - kiárusítás - Logitech, Corsair, ASUS
- Acer Nitro V ANV15 - 15.6"FHD - i5-13420H - 32GB - 512GB - Win11 - RTX 4050 - 1+ év gari - MAGYAR
- S22 Ultra 256/12 Dobozában
- Keresünk iPhone 16/16 Plus/16e/16 Pro/16 Pro Max
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


Leginkább arról, hogy bőven van itt még gyakorolni való...