- Panorámás, E-ATX-es toronyház a Thermaltake-től, akár "lopakodó" alaplapokhoz is
- Sokrétű segédkijelzővel gyarapodott a Corsair portfóliója
- Többféle belsővel jönnek a Kysona 50 gramm alatti, akciós egerei
- Világelső, 321 cellarétegű QLC-s 3D NAND-ot hozott az SK Hynix
- USB portok garmadája az ASRock AMD-s alaplapján
- Bambu Lab 3D nyomtatók
- OLED TV topic
- Asztrofotózás
- Milyen billentyűzetet vegyek?
- Sokrétű segédkijelzővel gyarapodott a Corsair portfóliója
- Többféle belsővel jönnek a Kysona 50 gramm alatti, akciós egerei
- AMD vs. INTEL vs. NVIDIA
- Mini PC
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Plazma TV topic
Új hozzászólás Aktív témák
-
Taci
addikt
válasz
sztanozs #20799 üzenetére
Mint kiderült, mégsem értem...
Ez a sor nekem elég összetett:
$pattern = '/(&#(?:X[0-9a-f]*|0{0-8}*|{1-9}{0-9}*)(?!;))/i';
Részekre szedve:
-&#
ezzel kezdődő mintákat keres
- amik így folytatódhatnak:
-X[0-9a-f]*
: tehát a következő karakter az X (a végén lévő /i miatt kis- és nagybetű is), utána pedig a 16-os (HEX) számrendszer miatt 0-9 és a-f karakterek szerepelhetnek, a * miatt 0 vagy több számban. Szóval ez a része azt hiszem, rendben (mármint értem), ezzel van lekezelve, ha Hex kódolásban lennének a karakterek.
-0{0-8}*
: Ez a rész nem teljesen tiszta. Ha jól értem, ez azt jelenti, hogy a&#
után hány darab 0 karakter állhat, és itt az van megadva, hogy 0-tól 8 db-ig akármennyi. Tehát ez alapján a minta lehetne&#
,�
,�
, ...,�
? Ezt nem értem, hogy mire való - vagy rosszul értelmezem.
-{1-9}{0-9}*
: Ezt a részt egyáltalán nem értem. Kapcsos zárójel elvileg azt jelenti, hogy az előtte álló karaktert hányszor ismételje meg. De a|
miatt a&#
van előtte. Szóval nem értem.- A végén van még a
(?!;)
. Ezt sem értem, hogy mit csinálhat.- És a legeljén lévő
?:
-ról pedig csak a nevét találtam: Non-Capturing Groups. De a működését nem bírom felfogni. Talán "csak" a művelet sebességéhez van köze?
(?: ), in contrast to ( ), is used to avoid capturing text, generally so as to have fewer back references thrown in with those you do want or to improve speed performance.-
$replacement = '${1};';
Itt pedig az $1 a backreference lenne. A kapcsos zárójeleknek itt a Non-Capturing Groups-hoz van köze? Ezt sem igazán értem. Mert ugye itt adod meg, hogy ha megtalálja a mintát, akkor mire cserélje: eredeti + zárja le pontosvesszővel.
Az én felületes "tudásommal" ha magam írtam volna, akkor ezt írtam volna:$replacement = '$1' . ';';
Miben különbözik az általad írt?Összességében a cél nyilván az, hogy felismerje, ha Dec vagy Hex kódolású karakterekről van szó (Dec:   Ẁ ♦ - Hex: ~ ˆ ∼ ), és ha nincs pontosvessző a végén, akkor egészítse ki vele.
Csak a részletekben vesztem el, és szeretném érteni, mi-mit-miért csinál. (Bocsánat, ha evidens dolgokra kérdezek rá, próbáltam megérteni a részleteket, utána járni, de ez egy számomra elég bonyolult "képlet".)
Ezt a pár dolgot pár mondatban el tudnád, magyarázni, kérlek?
Új hozzászólás Aktív témák
- AZTA! HP EliteBook 840 G8 Fémházas Laptop Ultrabook 14" -60% i7-1185G7 16/512 FHD IPS Iris Xe
- Asus P8H61-M LX R2.0 LGA 1155 alaplap, + Quad Core i5-2500 CPU
- LEGO Technic - Bugatti Chiron (42083)
- DJI Mavic 3 drón szett - 4/3" Hasselblad + 7x-es zoom kamera
- Samsung Galaxy S24 Ultra (újszerű, Független, 256 GB, 12 GB RAM, titán fekete)
- Akció! Paidashu 10600MAH / 20700MAH Powerbank olcsón!
- iKing.Hu - Apple Watch Ultra 2 Sportokra tervezve, prémium dizájnnal
- HP ZBook Studio G7 i7-10850H 32GB 1000GB Nvidia Quadro T1000 15.6" FHD 1 év garancia
- Ez már Kóros (Core 5)! Új Samsung Galaxy Book4 Intel Core 5 120U 16GB 512GB
- 3 db érhető el (130/131/132) - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4080
Állásajánlatok
Cég: FOTC
Város: Budapest