-
Fototrend

Új hozzászólás Aktív témák
-
válasz
bLaCkDoGoNe
#17687
üzenetére
Kiegeszitettem magyarazattal.
-
válasz
bLaCkDoGoNe
#17684
üzenetére
Egy kicsit beleszerelmesedtél a zárójelekbe

Az elején a ^ az mehet a legelejére, mivel mindenképpen a string elejétől akarod checkelni.
Az nem volt világos, hogy az elején az opcionális whitespace csak az egyes után lehet-e vagy mindenképpen: ha az előbbi (és szerintem erről van szó), akkor az a rész inkább úgy nézzen ki, hogy
^(1\s?)?...Ez így már megjavít egy csomó esetet.
Ha már mindenhol máshol használod a \d-t, akkor itt is, szóval:
^(1\s?)?(\(\d{3}\)|\d{3})...A
(\s|[-])?az feleslegesen barokkos, a sima[\s-]?pont ugyanazt csináljaMivel mindenképpen tesztelni akarod a komplett stringet, a végére menjen egy $.
És ezzel működőre is kalapáltuk:
^(1\s?)?(\(\d{3}\)|\d{3})[-\s]?\d{3}[-\s]?\d{4}$ -
válasz
bLaCkDoGoNe
#17684
üzenetére
/^1?\ ?(\(\d{3}\)|\d{3})[\ -]?\d{3}[\ -]?\d{4}$/1. feleslegesen hasznalsz capturing groupokat (zarojeleket)
2. nem ellenorzod, hogy vege-e a sztringnek ($ a vegen)
3. word boundary a vegen minek? (\b) - ezert nem matchelsz a 5555555555-re
4. amikor az elso tripletre akarsz matchelni (a tiedben ez a resz:((\([0-9]{3}\))*)|\d{3}, az 0 karakterre is matchel, ezert matchelsz a 555-5555-re, pedig nem kene (nezd meg az enyemet, az matchel a (123)-ra, vagy a 123-ra is, de a semmire nem matchel). -
válasz
bLaCkDoGoNe
#17682
üzenetére
Persze

Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Robot fűnyírók
- PayPal
- gban: Ingyen kellene, de tegnapra
- One otthoni szolgáltatások (TV, internet, telefon)
- Total Commander
- exHWSW - Értünk mindenhez IS
- Kerékpárosok, bringások ide!
- sziku69: Fűzzük össze a szavakat :)
- Nintendo Switch 2
- Brogyi: CTEK akkumulátor töltő és másolatai
- További aktív témák...
- Garanciális Deepcool PN850-M Black 850W 80 PLUS Gold
- Lenovo ThinkPad X1 Carbon Gen 10 i5-1245U / 16GB RAM / 512GB NVMe SSD / 1920 1200 / EU billentyűzet
- Lenovo ThinkPad X1 Carbon Gen 7 i5-8365U / 8GB RAM / 256GB NVMe SSD / 14" FHD / 12 hónap garancia
- Lenovo ThinkPad X1 Carbon Gen 9 i5-1145G7 / 16GB RAM / 256GB NVMe SSD / 14" WUXGA / 12 hónap garanci
- Gtx 1080/ Intel I7 8700K/ 16GB Ram/ 256GB M2 SSD/ 1TB HDD/ Win11
- GYÖNYÖRŰ iPhone 12 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4567
- HIBÁTLAN iPhone 13 Pro 256GB Sierra Blue-1 ÉV GARANCIA - Kártyafüggetlen, MS4530, 100% Akkumulátor
- BESZÁMÍTÁS! Inno3D iChill X3 RTX 3080 Ti 12GB videokártya garanciával hibátlan működéssel
- Dobozos Új Dell Xps 15 9530 i7 13620h 16gb ram 1tb ssd intel uhd graphics+ Intel Arc A370M
- Dell Core i5 - i7 - 8-10-11-12. gen. üzleti kategóriás notebookok számlával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


