Jurkins Ierakstīts Janvāris 29, 2021 Share Ierakstīts Janvāris 29, 2021 Labs rīts! A davai kaut ko ne par Baidenu un gejiem 😁. Es saprotu, ka tupiju..., bet var kāds "populāri" apskaidrot, ko dara "?:" print(re.match('[.]'.join(('(?:[0-9]{1,2}|[1][0-9]{2}|2[0-4][0-9]|25[0-5])',) * 4) + '$', '0.255.255.254')) un print(re.match('[.]'.join(('([0-9]{1,2}|[1][0-9]{2}|2[0-4][0-9]|25[0-5])',) * 4) + '$', '0.0.0.0')) Rezultāts, manuprāt, ir pilnīgi tāds pats. Ir, ir pilns nets ar skaidrojumiem, bet nu, mļaķ, nepielec. 1 Link to comment Share on other sites More sharing options...
marrtins Janvāris 29, 2021 Share Janvāris 29, 2021 Rezultāts būs vienāds, ja tikai jāpārbauda, ka ir/nav match. Tas nemainās vai būs tas ?: vai nē. ?: norāda, ka tam, kas iekavās, netiek veidota "matching grupa", lai, piemēram, nemaisās pa kājām potenciāliem look ahead/behind (piemēram, kaut kur regexp tālāk referencēt atpakaļ uz iepriekš matchotām iekavām - ar \1, \2, utt) Labāk varētu izskaidrot šis PHP kods: <?php $text = "aabbcc"; preg_match_all("/(aa)(?:bb)(cc)/", $text, $match); print_r($match); $match masīvs saturēs tikai aa un cc. Ja noņemsi ?:, tad būs masīvā būs arī bb. 2 Link to comment Share on other sites More sharing options...
Jurkins Janvāris 29, 2021 Author Share Janvāris 29, 2021 Ok, paldies @marrtins, līdz "matching grupām" vēl neesmu ticis. Bet nu tekošajā 😁 momentā tas nav tik svarīgi. Link to comment Share on other sites More sharing options...
AndrisBB Janvāris 29, 2021 Share Janvāris 29, 2021 Es parasti izmantoju šo vai ko līdzīgu, lai uzrakstītu regexus. https://regex101.com/ Paskaidrojumi gan tur ir īsi, bet izskaidro ari ko ?: nozīmē. 1 Link to comment Share on other sites More sharing options...
marrtins Janvāris 29, 2021 Share Janvāris 29, 2021 Jā - tas ir labulītis. Link to comment Share on other sites More sharing options...
Jurkins Janvāris 29, 2021 Author Share Janvāris 29, 2021 Jā, šis ir labs. Vakar vakarā jau biju uzbridis uz šamā no viena habr.ru raksta. Bet pirmo reizi nesapratu. Tagad sāku iebraukt. Link to comment Share on other sites More sharing options...
Recommended Posts
Izveido kontu, vai pieraksties esošajā, lai komentētu
Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas
Izveidot jaunu kontu
Piereģistrējies un izveido jaunu kontu, tas būs viegli!
Reģistrēt jaunu kontuPierakstīties
Jums jau ir konts? Pierakstieties tajā šeit!
Pierakstīties tagad!