Segítség a RegEx használatához
|
|
- Csenge Farkas
- 6 évvel ezelőtt
- Látták:
Átírás
1 Segítség a RegEx használatához A RegEx vagy RegExp a Regular Expression rövid formája. Magyarul talán a "szabályos kifejezés" lenne a megfelelő fordítás. Ez a leírás azért született, hogy elindítson a technika megismerésében, koránt sem tekinthető teljesnek, a cikk végén található URL-eken lehet folytatni a barangolást a "szabályos kifejezések" világában. Mindig babonás félelemmel néztem a RegEx mintáira. Volt dolgom egykét nyelnvel, de ez valami egészen bizarr dolog volt. Nem hinném, hogy létezik olyan tapasztalat aminek birtokában felfedezhető a RegEx sajátos logikája, szintaktikája, viszont az operátorok elolvasása után szinte arculcsap a felismerés: "ennyi az egész?" Legalább is ez lenne a cikk célja :) A RegEx lehetőséget ad szabályok, azaz minták egyszerű leírására. Ezekkel a mintákkal aztán sok hasznos dolgot tehetünk. Kereshetünk rájuk egy stringben, vagy kicserélhetjük őket valamilyen szabály szerint. Használhatjuk adatellenőrzésre vagy szerkezetek (pl. dátum) szétdarabolására, értelmezésére. Essünk túl a kötelező analógián: a DOS-ból jólismert joker karakterek is kifejezéseket írnak le, amiknek fájlokat feleltetünk meg, vagy van egyezés, vagy nem. A ka*.doc és ka???.doc kifejezések közül a kalap.doc mindkettőnek, még a kapa.doc csak az elsőnek felel meg. Hogy még egy kicsit rosszabb legyen, mielőtt jobb lesz: DOS-os ka*.doc RegEx megfelelője: ka.*\.doc a ka???.doc peig nem más, mint ka.{3}\.doc RegEx operátorok A DOS-os példához hasonlóan a mi mintáink is konkrét karakterekből (szavak, szótöredékek), és speciális jelentésű operátorokból épülnek fel. Karakter megfeleltetés. (pont) Bármilyen karakter: A b.ka kifejezésnek megfelel a béka és bika szó is. [karakterek] A kapcsoszárójelek között felsorolt karakterek valamelyikével megegyező karakter: A b[éa]ka kifejezésnek megfelel a béka és baka szó, a bika viszont nem. A - (minusz) jellel tartományt is megadhatunk. Például [0-9] megfelel bármely számjegynek vagy [a-za-z] bármely kis vagy nagybetünek. [^karakterek] A kapcsoszárójelek között felsorolt karakterek egyikével sem egyező karakter (az előző operátor tagadása): A b[^é]ka kifejezésnek nem megoldása a béka. A baka és bika viszont igen. Többszörözés?
2 + * {m,n} A megelőző minta 0 vagy 1 alkalommal fordul elő: A borda.? kifejezés igaz a borda és a bordal szavakra is. A megelőző minta 1 vagy több alkalommal fordul elő: A bo.+ka kifejezésnek megfelel a boróka, a boka viszont nem. A megelőző minta 0 vagy több alkalommal fordul elő: A bo.*ka kifejezésnek már megfelel a boka és boróka is. Segítségével megadható minimum és maximum vagy pontosan megadott számú előfordulás - {3} pontosan 3 előfordulás; {3,} legalább 3 előfordulás; {2,5} legalább 2 legfeljebb 5 előfordulás; {,10} legfeljebb 10 előfordulás. A d.{,5}ány igaz minden esetben, ha legfeljebb 5 karaktert kell helyettesíteni, például a dolmány esetén. A diszkópatkány viszont már nem akad fenn rajta. Horgonyok Az előzőekben nem szemléltettem, de a felsorolt kifejezések akkor is igazak ha a vizsgált string belsejében találhatók meg. A b.ka igaz a bikaviadal mintára is. ^ $ A minta eleje: Ezzel jelezhetjük, hogy a kifejezést a minta elején keressük. A ^béka kifejezésnek megfelel a békanyál minta, a kecskebéka viszont nem. A minta vége: Az előző horgonyhoz hasonlóan a minta végét testesíti meg. A ék$ mintának megfelel minden erre végződő szó (kerék, pék). Természetesen kombinálhatók is. A ^p.k$ kifejezés csak akkor igaz, ha az input pontosan egy hárombetűs szó. A legpikánsabb nem megoldása, ahogy a pikáns sem. A pék vagy pók viszont jó. Logika ( ) Vagylagos egyezés: Két lehetőség közé téve bármelyikkel való egyezés találatot produkál. Gyakorlati példához picit előre kell ugorjunk, a normál (kerek) zárójelekre, jelen felhasználás viszont nem kíván különösebb magyarázatot: ka(lap bát) Kifejezések csoportosítása: Nem csak a vagylagos egyezés az egyetlen lehetséges felhazsnálás. Egy csoportot létrehozva elláthatjuk paraméterrel például a (hókusz)?pók segítségével a hókuszpók és pók szavak is megtalálhatók. A csoportokra később hivatkozhatunk is, ez cserénél vagy stringek értelmezésénél lesz hasznos. Escape-elés Ezek az operátorok lefednek néhány gyakran használt karaktert is. Ha például egy pont karaktert nem speciális értelmében szeretnénk hazsnálni, hanem egy pontként a C-ból, PHP-
3 ből, Javascriptből megszokott módon \ (backslash) karakterrel tudjuk megfosztani speciális jelentésétől. Összetett példák Dátum feldolgozás [0-9]{4}[^0-9]*[0-9]{2}[^0-9]*[0-9]{2} Hogy is olvasandó a példa? [0-9]{4} négy darab számjegy (év); amelyet követ [^0-9]* nulla vagy akár több NEM számjegy karakter (esetleges elválasztó); majd [0-9]{2} két számjegy (hónap); utána ismét [^0-9]* jöhet elválasztó; és végül [0-9]{2} két újabb számjegy. Ezzel még csak félmunkát végeztünk. Tudunk azonosítani egy dátumot, de nem tudunk hivatkozni az egyes tagokra. A kerekzárójellel emeljük ki azokat a csoportokat amik számunkra érdekes adatokat hordoznak. ([0-9]{4})[^0-9]*([0-9]{2})[^0-9]*([0-9]{2}) A használt nyelvnek megfelelő stílusban (általában egy tömbben) kapjuk vissza a megjelölt csoportok tartalmát a RegEx futtatása után. Például PHP-ben: $datum = " "; ereg ('([0-9]{4})[^0-9]*([0-9]{2})[^0-9]*([0-9]{2})', $datum, $talalat); var_dump ($talalat); Eredménye a következő: array(4) { [0]=> string(12) " " [1]=> string(4) "2006" [2]=> string(2) "07" [3]=> string(2) "22" } A tömb nullás sorszámú rekeszébe kerül az egész kifejezésnek megfelelő minta (látható, hogy a végső pont nincs benne, hiszen a keresett kifejezésünk véget ér a napot jelölő két számjeggyel). Az egyes sorszámtól kezdve a tömbbe kerültek az általunk (kerekzárójellel) megjelölt csoportok. A kiindulási dátum lehetett volna " " vagy " " is, a kifejezés mindet megfejti. Bizonyos dátumformátumok nem pótolják ki kétszámjegyűre az adatokat. Pédlául "2006/7/22". Ilyenkor az elválasztók jelenléte a döntő. Az elválasztók között mindig van egy vagy több számjegy: ([0-9]{4})[^0-9]*([0-9]+)[^0-9]*([0-9]+) Nézzünk egy PHP példát a csrére. A következő függvény a tetszőlegesen elválasztott dátumformátumot "-" jellel elválasztottra konvertálja (ahogy például a MySQL szereti). $datum = " "; $ujdaum = ereg_replace ('([0-9]{4})[^0-9]*([0-9]+)[^0-9]*([0-9]+)[^0-9]*', '\1-\2-\3', $datum); echo ($ujdaum); // eredménye:
4 Itt megtoldottuk a mintát egy [^0-9]* kóddal, hogy lenyeljük az esetleges elválasztó jeleket a dátum végéről. A \1 \2 \3 pedig referenciák a zárójellel kiemelt csoportokra. ellenőrzés ^[0-9a-z\.-]+@([0-9a-z-]+\.)+[a-z]{2,4}$ Olvassuk el: ^ a minta elején; egy vagy több alfanumerikus karakter, a pont és kötőjel is megengedett (A pont speciális karakter, egy backslash-sel jelöljük, hogy nem szeretnénk, hogy most értelmezze a RegEx motor. A minusz szintén speciális jelentéssel bír a kapcsoszárójelek között. Az ő esetében a backslash-módszer néhány értelmezőnek gondot okoz, ezért hogy megfosszuk speciális jelentésétől az utolsó kell legyen a záró kapcsoszárójel előtt.) Ezek után (at) karakter következik; majd [0-9a-z-]+ egy vagy több alfanumerikus karakter; amit \. egy pont követ. A mintát egy [a-z]{2,4} legalább 2 legfejlebb 4 betüből álló rész (TLD) zárja $. A kifejezés közepén (kiemelt rész) képezünk egy csoportot, aminek engedélyeztük az ismétlődést. Ennek hatására nem csak a "user@domain.tld" felel meg, hanem ugyanúgy a "user@subhost.host.domain.tld" is. $ = "gipsz.jakab@szerver.szervezet.hu"; $megfelel = eregi ('^[0-9az\.-]+@([0-9a-z-]+\.)+[a-z]{2,4}$', $ ); echo ($megfelel); // az eredmény: 1 Most nem értelmezünk, darabolunk, cserélünk, egyszerűen csak ellenőrizzük megfelel-e a vizsgált minta a kifejezésünknek. Az eregi függvény a kis és nagybetüket nem különböztei meg, és nekünk most erre van szükségünk. Ugyanerre egy JavaScript példa: A példa forrása: <script type="text/javascript"> function mailcheck() { var reg = /^[0-9az\.-]+@([0-9a-z-]+\.)+[a-z]{2,4}$/i; var s = document.getelementbyid(' ').value; alert(reg.test(s)); } </script> <input type="text" id=" "/> <input type="button" onclick="mailcheck();" value=" ?"/> A JavaScript a PERL kompatibilis szintaxist használja (PCRE). Ez nem string. Idézőjelek helyett "/" határoló karakterek között (itt más határoló nem használható) található a minta, utána a flagekkel. Itt az i, azaz igonore-case flaget használjuk, azaz kis és nagybetük nincsenek megkülönbeztetve. A reg tipusa tehát nem String, hanem RegExp. Ennek hazsnáljuk a test() metódusát az input ellenőrzésére. URL formázott kiírása Tételezzük fel, hogy egy webcímet szeretnénk tetszetős formában kiírni: kiemelni a domainnevet és elávolítani az esetleges / jelet a végéről. Mivel nem tudjuk, hogy konkrétan van-e a végén / (per) karakter szükségünk lesz egy feltételes kifejezésre. Az első kézenfekvő megoldás: ://([^/]+)(.*)(/$ $)
5 A :// a protokol végét jelöli, semmi speciális. A ([^/]+) kifejezés megtalálja nekünk a hostnevet, mivel az első / előtti összes karaktert visszaadja. Az elérési út többi tagja megfelel a (.*) kifejezésnek. Ezután pedig vagy egy / karakter majd a string vége következik, vagy azonnal a string vége. Logikusan hangzik, mégsem működik. A probléma az, hogy a (.*) elnyeli a záró / karaktert is. Így az utolsó csopotnak már csak string vége jel jut. A megoldás: ://([^/]+)(.*?)(/$ $) Ezt nevezik nem-kapzsi (non-greedy) keresésnek. Ilyenkor a lehető legkevesebb karaktert vesz le magának a kifejezés. Amint az utána következő kifejezés (/$ $) egyezést produkál nem eszik meg többet magának. A PHP ereg függvényei nem ismerik ezt a keresési módot. Éles helyzetekben mindenképpen a gyorsabb PCRE függvénycsaládot javaslom. A példákban csak a picit barátságosabb szintaktika miatt szerepel ereg. Lássuk most a példát preg (PCRE) használatával: $url = " preg_match ('#://([^/]+)(.*?)(/$ $)#', $url, $talalat); var_dump ($talalat); A legszembetűnőbb újdonság az, hogy a PCRE függvények határoló karakterek (esetünkben kettőskereszt: #) között várják a kifejezést (erről később bővebben). A határoló karaktert mi választjuk meg. Általában a per karakter használatos, esetünkben viszont nem lenne célszerű, mivel a mintánkban több helyen is szerepel. Ha a választott határoló karakter szerepel a mintában, akkor a már ismertetett módon, egy backslash karakterrel kell escape-elni azt. A futás eredménye: array(4) { [0]=> string(32) "://domain.tld/dokumentumok/2006/" [1]=> string(10) "domain.tld" [2]=> string(18) "/dokumentumok/2006" [3]=> string(1) "/" } Ahogy megszoktuk, a tömb nullás sorszámú eleme az egész találatot tartalmazza, az általunk megjelölt csoportok az első indextől kezdődnek: A protokoll utáni első "/" karaker előtti rész, azaz a hostnév; majd az URL további része; kivéve a záró "/" karaktert, ami az utolsó csoport. A darabok ismeretében kiírhatjuk emberbarát, style-olt URL-ünket, ahol a hostnevet tetszőlegesen kiemelhetjük. echo ('<span class="url-host">'. $talalat[1]. '</span><span class="urlpath">'. $talalat[2]. '</span>'); Bankszámlaszám ellenőrzése ^[0-9]{8}([ -]?[0-9]{8}){1,2}$ A bankrendszer behatóbb simerete nélkül feltételezem, hogy egy számlaszám 16 vagy 24 számból áll, és nyolcasával szokás őt elválasztani.
6 Olvassuk el: nyolc számjegy (eddig semmi különös); majd jöhet (kérdőjel, azaz 0 vagy 1 darab előfordulás) egy elválasztó karakter (space vagy kötőjel); ezután ismét nyolc számjegy. Az utolsó két kifejezésből létrehozunk egy csoportot (kiemelt rész - kerek zárójel), amiből legalább egy (16 számjegyű számlaszám) vagy legfeljebb kettő (24 számjegyű számlaszám) fordulhat elő. A kifejezés a start "^" jellel kezdődik és a vége "$" jelle fejeződik be, így teljes egyezést viszgálunk, nem elég, ha a minta csak tartalmazza a számlaszámot (enélkül például a "abc " is megoldás lenne). Egy működő JavaScript példa: És a forrás: <script type="text/javascript"> function szamlacheck() { var reg = /^[0-9]{8}([ -]?[0-9]{8}){1,2}$/; var s = document.getelementbyid('szamlaszam').value; alert(reg.test(s)); } </script> <input type="text" id="szamlaszam"/> <input type="button" onclick="szamlacheck();" value="számlaszám?"/> További ötletek? Kimerítettem minden eszembe jutó példát. Ha van egy (nem nagyon speciáis) felhasználásod, amire nem találod a megoldást (vagy akár igen), és jól mutatna itt példának várok minden ötletet a kapcsolat oldalon. Varga Bence 2007
BASH SCRIPT SHELL JEGYZETEK
BASH SCRIPT SHELL JEGYZETEK 1 TARTALOM Paraméterek... 4 Változók... 4 Környezeti változók... 4 Szűrők... 4 grep... 4 sed... 5 cut... 5 head, tail... 5 Reguláris kifejezések... 6 *... 6 +... 6?... 6 {m,n}...
Operációs rendszerek. 10. gyakorlat. AWK - bevezetés UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED AWK - bevezetés Operációs rendszerek 10. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor 1 / 15 Reguláris
Operációs Rendszerek II. labor. 2. alkalom
Operációs Rendszerek II. labor 2. alkalom Mai témák (e)grep Shell programozás (részletesebben, példákon keresztül) grep Alapvető működés: mintákat keres a bemeneti csatorna (STDIN vagy fájl) soraiban,
Forráskód formázási szabályok
Forráskód formázási szabályok Írta: Halmai Csongor, Webcenter Bt. A php és html kódrészletek Ugyanazon fájlon belül nem szerepelhet php kód és html tartalom. E kettő különválasztására smarty-t vagy más
Az alábbi kód egy JSON objektumot definiál, amiből az adtokat JavaScript segítségével a weboldal tartalmába ágyazzuk.
JSON tutorial Készítette: Cyber Zero Web: www.cyberzero.tk E-mail: cyberzero@freemail.hu Msn: cyberzero@mailpont.hu Skype: cyberzero_cz Fb: https://www.facebook.com/cyberzero.cz BEVEZETÉS: A JSON (JavaScript
8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába
8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába A gyakorlat célja: 1. A gyakorlat célja a reguláris kifejezések használatának megismerése. A grep parancs használatának elsajátítása
AWK programozás Bevezetés
09 AWK programozás Bevezetés AWK adatvezérelt szkriptnyelv text processing, adat kiterjesztés, tagolt adatok automatizált soronkénti feldolgozása a forrásállományt soronként beolvassa és feldolgozhatóvá
Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED AWK - szintaxis, vezérlési szerkezetek Operációs rendszerek 11. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik
8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába
8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába A gyakorlat célja: 1. A gyakorlat célja a reguláris kifejezések használatának megismerése. A grep parancs használatának elsajátítása
C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18
C# Nyelvi Elemei Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei 2013 1 / 18 Tartalomjegyzék 1 Object 2 Típusok 3 String 4 RegEx Tóth Zsolt (Miskolci Egyetem) C# Nyelvi
4. Javítás és jegyzetek
és jegyzetek Schulcz Róbert schulcz@hit.bme.hu A tananyagot kizárólag a BME hallgatói használhatják fel tanulási céllal. Minden egyéb felhasználáshoz a szerző engedélye szükséges! 1 Automatikus javítás
Operációs Rendszerek Gyakorlat
. feladat Operációs Rendszerek Gyakorlat Második zh. felkészülés, gyakorlás 207 május 2. - Berta Árpád Készíts egy bash scriptet, amely a paraméterről kapott szóközzel elválasztott kifejezések közül kiírja
PHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig
PHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig
AWK programozás, minták, vezérlési szerkezetek
10 AWK programozás, minták, vezérlési szerkezetek AWK adatvezérelt szkriptnyelv text processing, adat kiterjesztés, tagolt adatok automatizált soronkénti feldolgozása a forrásállományt soronként beolvassa
Szkriptnyelvek. 1. UNIX shell
Szkriptnyelvek 1. UNIX shell Szkriptek futtatása Parancsértelmez ő shell script neve paraméterek shell script neve paraméterek Ebben az esetben a szkript tartalmazza a parancsértelmezőt: #!/bin/bash Szkriptek
Operációs rendszerek gyakorlat
Operációs rendszerek gyakorlat 10. Gyakorlat Vakulya Gergely Az alapértelmezett változó - I. Sok függvény és vezérlési szerkezet alapértelmezett változóval tömörebbé tehető $_ while, , print, stb. 2
HTML ÉS PHP ŐSZI FÉLÉV
1 HTML ÉS PHP ŐSZI FÉLÉV Szövegek kezelése PHP-val 2 Szövegek tárolása Az UTF-8 kicsit részletesebben 3 Az UTF-8 minden karaktert 1-6 bájton tárol Ez összesen 1 111 998 különböző karakter tárolását teszi
A JavaScript főbb tulajdonságai
JavaScript alapok A JavaScript főbb tulajdonságai Script nyelv azaz futás közben értelmezett, interpretált nyelv Legfőbb alkalmazási területe: a HTML dokumentumok dinamikussá, interaktívvá tétele Gyengén
Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):
Javascript Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futása
Programozás alapjai. 5. előadás
5. előadás Wagner György Általános Informatikai Tanszék Cserélve kiválasztásos rendezés (1) A minimum-maximum keresés elvére épül. Ismétlés: minimum keresés A halmazból egy tetszőleges elemet kinevezünk
Operációs rendszerek. 9. gyakorlat. Reguláris kifejezések - alapok, BASH UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED Reguláris kifejezések - alapok, BASH Operációs rendszerek 9. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor
Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):
Python Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futása alatt
Operációs rendszerek. 9. gyakorlat. BASH recap, reguláris kifejezések UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED BASH recap, reguláris kifejezések Operációs rendszerek 9. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor
Web-technológia PHP-vel
Web-technológia PHP-vel A PHP programnyelv 2, futtatókörnyezet beálĺıtások Erős Bence February 26, 2013 Erős Bence () Web-technológia PHP-vel February 26, 2013 1 / 19 Szuperglobális változók $ GET : request
PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv
PHP A PHP rövidítés jelentése hivatalosan: PHP Hypertext Preprocessor. Ez egy kiszolgáló-oldali parancsnyelv, amit jellemzően HTML oldalakon használnak. A különbség a két nyelv között az, hogy a kiszolgáló
Webprogramozás szakkör
Webprogramozás szakkör Előadás 5 (2012.04.09) Programozás alapok Eddig amit láttunk: Programozás lépései o Feladat leírása (specifikáció) o Algoritmizálás, tervezés (folyamatábra, pszeudokód) o Programozás
S z á m í t ó g é p e s a l a p i s m e r e t e k
S z á m í t ó g é p e s a l a p i s m e r e t e k 7. előadás Ami eddig volt Számítógépek architektúrája Alapvető alkotóelemek Hardver elemek Szoftver Gépi kódtól az operációs rendszerig Unix alapok Ami
file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>
I. Alapok Interaktív shell-ben vagy shell-scriptben megadott karaktersorozat feldolgozásakor az első lépés a szavakra tördelés. A szavakra tördelés a következő metakarakterek mentén zajlik: & ; ( ) < >
32. A Knuth-Morris-Pratt algoritmus
32. A Knuth-Morris-Pratt algoritmus A nyers erőt használó egyszerű mintaillesztés műveletigénye legrosszabb esetben m*n-es volt. A Knuth-Morris-Pratt algoritmus (KMP-vel rövidítjük) egyike azon mintaillesztő
5-ös lottó játék. Felhasználói dokumentáció
5-ös lottó játék Felhasználói dokumentáció Feladat: JavaScript és CSS segítségével 5-ös lottó játék készítése. Futtatási környezet: A http://10.0.0.101/~szabby/ linkre kattintva megjelenik az oldal. Az
Java II. I A Java programozási nyelv alapelemei
Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak
Operációs rendszerek 2 3. alkalom - Reguláris kifejezések, grep, sed. Windisch Gergely windisch.gergely@nik.uni-obuda.hu 2010-2011 2.
Operációs rendszerek 2 3. alkalom - Reguláris kifejezések, grep, sed Windisch Gergely windisch.gergely@nik.uni-obuda.hu 2010-2011 2. félév Reguláris kifejezések Reguláris kifejezésekkel lehet keresni egy
IBAN: INTERNATIONAL BANK ACCOUNT NUMBER. I. Az IBAN formái
IBAN: INTERNATIONAL BANK ACCOUNT NUMBER A EUROPEAN COMMITTEE FOR BANKING STANDARDS (ECBS) által 2001. februárban kiadott, EBS204 V3 jelű szabvány rögzíti a nemzetközi számlaszám formáját, valamint eljárást
Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)
Programozás alapjai C nyelv 8. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény
Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában
Programozás alapjai C nyelv 8. gyakorlat Szeberényi mre BME T Programozás alapjai. (C nyelv, gyakorlat) BME-T Sz.. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény
Reguláris vagy szabályos kifejezések
Reguláris vagy szabályos kifejezések 1. Bevezető...1 2. Bővített kifejezések (extended)...2 Egyedi karakterekre való illesztések...2 A. metakarakter...3 A karakter halmaz és a karakter osztály...3 Csoportosítás
CSORDÁS JÁNOS: ALAPFÜGGVÉNYEK MICROSOFT OFFICE EXCEL-BEN BUDAPEST, DECEMBER 31. Alapfüggvények a Microsoft Office Excel-ben
1 CSORDÁS JÁNOS: ALAPFÜGGVÉNYEK MICROSOFT OFFICE EXCEL-BEN BUDAPEST, 2013. DECEMBER 31. Budapest-Fasori Evangélikus Gimnázium Csordás János 2013. v2. ALAPFÜGGVÉNYEK MICROSOFT OFFICE EXCEL-BEN I. Egyszerű
Területi elemzések. Budapest, 2015. április
TeIR Területi elemzések Felhasználói útmutató Budapest, 2015. április Tartalomjegyzék 1. BEVEZETŐ... 3 2. AZ ELEMZÉSBEN SZEREPLŐ MUTATÓ KIVÁLASZTÁSA... 4 3. AZ ELEMZÉSI FELTÉTELEK DEFINIÁLÁSA... 5 3.1.
Regionális forduló november 19.
Regionális forduló 2016. november 19. 9-10. osztályosok feladata Feladat Írjatok Markdown HTML konvertert! A markdown egy nagyon népszerű, nyílt forráskódú projektekben gyakran használt, jól olvasható
Kézikönyv. Szelekciós operátorok használata
Kézikönyv Szelekciós operátorok használata Tartalomjegyzék 1 ABAS-ERP UTASÍTÁS ÁTTEKINTÉS... 7 2 ÁRUCIKK - ÜRES... 9 3 OBJEKTUM KIVÁLASZTÁS - ÁRUCIKK MEGJELENÍTÉS... 10 4 ABAS-ERP... 18 5 OBJEKTUM KIVÁLASZTÁS
Jelszavak helyes megválasztása, szótáras törés. Pánczél Zoltán
Jelszavak helyes megválasztása, szótáras törés Pánczél Zoltán 1 Miért fontos a megfelelő jelszó? Nagyban növeli a rendszer biztonságát. Könnyű jelszó = Nincs jelszó A teljes rendszer biztonsága tőlünk
Operációs rendszerek gyak.
Operációs rendszerek gyak. AWK programozás Hirling Dominik Szegedi Tudományegyetem AWK AWK: a pattern scanning and processing language mintaelemző-és feldolgozó nyelv bármilyen szövegből minták alapján
HTML. Ismerkedés a JavaScripttel. A JavaScript lehet ségei. A JavaScript kód helye. Önálló JavaScript fájlok
HTML Ismerkedés a JavaScripttel webprogramozó A weblapokat HTML nyelven készíthetjük el. A HTML egyszer leírónyelv, nem alkalmas válaszolni a felhasználóknak, nem tud döntéseket hozni, nem tud végrehajtani
Regionális forduló november 19.
Regionális forduló 2016. november 19. 11-13. osztályosok feladata Feladat Írjatok Markdown HTML konvertert! A markdown egy nagyon népszerű, nyílt forráskódú projektekben gyakran használt, jól olvasható
PHP alapjai, bevezetés. Vincze Dávid Miskolci Egyetem, IIT
alapjai, bevezetés Vincze Dávid Miskolci Egyetem, IIT vincze.david@iit.uni-miskolc.hu PHP Personal Home Page (Tools) Script nyelv -> interpretált Elsősorban weboldal (dinamikus) tartalmak előállítására
Szabadkai Műszaki Szakfőiskola. Web programozás. dr Zlatko Čović chole@vts.su.ac.rs
Szabadkai Műszaki Szakfőiskola Web programozás dr Zlatko Čović chole@vts.su.ac.rs 1 DOM események (events) JavaScriptben interaktív programok készítésére az események által vezérelt programozási modellt
Programozási nyelvek Java
Programozási nyelvek Java 11.gyakorlat Operációsrendszertől függő tulajdonságok PATH elválasztó Unix ":" Windows ";" final String PATH_SEPARATOR = File.pathSeparator; Ugyanaz, csak karakterkent final char
AWK programozás, minták, vezérlési szerkezetek
10 AWK programozás, minták, vezérlési szerkezetek AWK futtatási módok AWK parancs, közvetlen programkódmegadás: awk 'PROGRAMKÓD' FILE példa: ls -l awk '{print $1, $5}' a programkód helyére minden indentálás
OEP Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1. Feladat. Elemzés 1
OEP Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1. Feladat Különféle élőlények egy túlélési versenyen vesznek részt. A lények egy pályán haladnak végig, ahol váltakozó terep viszonyok vannak.
Memória játék. Felhasználói dokumentáció
Memória játék Felhasználói dokumentáció Feladat: JavaScript segítségével, olyan programot írni, mely összekeveri a lapokat, majd a felhasználónak kell párosítani. HTML oldalba ágyazva és CSS-el formázva.
WEB PROGRAMOZÁS 3.ELŐADÁS. Űrlapok
WEB PROGRAMOZÁS 3.ELŐADÁS Űrlapok 2 Globális és környezeti változók Globális és környezeti változók 3 A globális változók azok a változók, amelyeket a program legfelső szintjén, azaz a függvényeken kívül
Titkok Trükkök Tippek: Az FKERES (munkafüzet és e-könyv)
Miért nem működik az FKERES (vagy a VKERES) függvény? Amikor az FKERES függvényt alkalmazzuk, lényegében ezt mondjuk a függvénynek: Itt egy érték. Menj egy másik helyre, találd meg ezt az értéket, és mutasd
Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós szeptember 27. Széchenyi István Egyetem, Gy r
Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2018. szeptember 27. Háromszög szerkeszthet ségének ellen rzése ANSI C (C89) megvalósítás #i n c l u d e i n t main ( v
Python tanfolyam Python bevezető I. rész
Python tanfolyam Python bevezető I. rész Mai tematika Amiről szó lesz (most): Interpretált vs. fordított nyelvek, GC Szintakszis Alaptípusok Control flow: szekvencia, szelekció, iteráció... Függvények
7. fejezet: Mutatók és tömbök
7. fejezet: Mutatók és tömbök Minden komolyabb programozási nyelvben vannak tömbök, amelyek gondos kezekben komoly fegyvert jelenthetnek. Először is tanuljunk meg tömböt deklarálni! //Tömbök használata
Szűrők Reguláris kifejezések, AWK
02 Szűrők Reguláris kifejezések, AWK A félév hátralévő részének célja Szöveges fájlok tartalmának a kezelése, manipulációja, automatizált módosítása Reguláris kifejezések Komplex mintaillesztés megadása
1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3
Darvay Zsolt Típusok és nevek a forráskódban Állandók és változók Hatókörök és az előfeldolgozó Bevitel és kivitel Kifejezések Utasítások Mutatók Függvények Struktúrák és típusok Állománykezelés C programozás
Webtárhely létrehozása a WWW.freeweb.hu helyen. Lépések Teendő 1. Böngészőbe beírni: www.freeweb.hu. 2. Jobb oldalon regisztrálni (tárhelyigénylés).
Lépések Teendő 1. Böngészőbe beírni: www.freeweb.hu Kép 2. Jobb oldalon regisztrálni (tárhelyigénylés). 3. 4. Értelemszerűen kitölteni a regisztrációs lapot, és elküldeni. 5. Postafiókomra érkező levélben
WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK
WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 2 Ismétlés Ismétlés 3 Fájl/Adatbázis 3 4 Szerver 2 CGI
A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.
Függvények 1.Függvények...1 1.1.A függvény deníció szintaxisa... 1..Függvények érték visszatérítése...3 1.3.Környezettel kapcsolatos kérdések...4 1.4.Lokális változók használata...4 1.5.Rekurzív hívások...5.kód
Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása
Tömbök kezelése Példa: Vonalkód ellenőrzőjegyének kiszámítása A számokkal jellemzett adatok, pl. személyi szám, adószám, taj-szám, vonalkód, bankszámlaszám esetében az elírásból származó hibát ún. ellenőrző
Adatbáziskezelés. SQL parancsok. Függvények
SQL parancsok Függvények Az SQL függvények csoportosítása Két csoportra oszthatjuk a függvényeket, attól függően, hogy milyen környezetben alkalmazzuk azokat. Amelyek CSAK egy adott adatelemen végrehajthatóak.
KOVÁCS BÉLA, MATEMATIKA I.
KOVÁCS BÉLA, MATEmATIkA I. 4 IV. FÜGGVÉNYEk 1. LEkÉPEZÉSEk, függvények Definíció Legyen és két halmaz. Egy függvény -ből -ba egy olyan szabály, amely minden elemhez pontosan egy elemet rendel hozzá. Az
1. Alapok. #!/bin/bash
1. oldal 1.1. A programfájlok szerkezete 1. Alapok A bash programok tulajnképpen egyszerű szöveges fájlok, amelyeket bármely szövegszerkesztő programmal megírhatunk. Alapvetően ugyanazokat a at használhatjuk
H N S A d a t K a p c s o l a t
HNS AdatKapcsolat HNS AdatKapcsolat 2009 március 31 HNS SPC Statisztikai folyamatszabályozó és minőségellenőrző program Copyright 1995-2009 HNS Műszaki Fejlesztő Kft. 9027 Győr, Gesztenyefa u. 4. Tel.:
length (s): Az s karaklerlánc hossza, substr(s,m,n): Az s mezőben levő karakterláncnak az m-edik karakterétől kezdődő, n darab karaktert vágja ki.
9. Gyakorlat AWK 2 length (s): Az s karaklerlánc hossza, substr(s,m,n): Az s mezőben levő karakterláncnak az m-edik karakterétől kezdődő, n darab karaktert vágja ki. Ha az n-et elhagyjuk, akkor az m-ediktől
Felvételi tematika INFORMATIKA
Felvételi tematika INFORMATIKA 2016 FEJEZETEK 1. Természetes számok feldolgozása számjegyenként. 2. Számsorozatok feldolgozása elemenként. Egydimenziós tömbök. 3. Mátrixok feldolgozása elemenként/soronként/oszloponként.
Karakterkészlet. A kis- és nagybetűk nem különböznek, a sztringliterálok belsejét leszámítva!
A PL/SQL alapelemei Karakterkészlet Az angol ABC kis- és nagybetűi: a-z, A-Z Számjegyek: 0-9 Egyéb karakterek: ( ) + - * / < > =! ~ ^ ; :. ' @ %, " # $ & _ { }? [ ] Szóköz, tabulátor, kocsivissza A kis-
Szövegek C++ -ban, a string osztály
Szövegek C++ -ban, a string osztály A string osztály a Szabványos C++ könyvtár (Standard Template Library) része és bár az objektum-orientált programozásról, az osztályokról, csak később esik szó, a string
Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Előfeldolgozó rendszer Tömbök. Dr. Bécsi Tamás 4. Előadás
Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Előfeldolgozó rendszer Tömbök Dr. Bécsi Tamás 4. Előadás A?: operátor Nézzük meg a következő kifejezést: if (a>b) z=a; else z=b; Ez felírható
PHP. Adatbázisok gyakorlat
PHP Adatbázisok gyakorlat Mi a PHP? A PHP (PHP: Hypertext Preprocessor) egy nyílt forráskódú, számítógépes szkriptnyelv, legfőbb felhasználási területe a dinamikus weboldalak készítése. A PHP-kódunk általában
Csavarda mobil áruház
Csavarda mobil áruház Használati útmutató Kérjük, hogy mielőtt elkezdené használni a Csavarda mobil áruház alkalmazást, gondosan olvassa végig ezt a segédletet. TARTALOMJEGYZÉK 1. Letöltés 2. oldal 2.
Tili-Toli játék. Felhasználói dokumentáció
Tili-Toli játék Felhasználói dokumentáció Feladat: JavaScript és CSS segítségével tili-toli játék készítése. Futtatási környezet: A http://10.0.0.101/~szabby/ linkre kattintva megjelenik az oldal. Az oldal
Sakk játék. Feladat: JavaScript segítségével olyan programot kell írni, ami egy sakktáblát szimulál. Kiválasztásra változtatják a helyüket.
Sakk játék Felhasználói dokumentáció Feladat: JavaScript segítségével olyan programot kell írni, ami egy sakktáblát szimulál. Kiválasztásra változtatják a helyüket. Futtatási környezet: A http://10.0.0.101/~hgy/sakk/
2. Rekurzió. = 2P2(n,n) 2 < 2P2(n,n) 1
2. Rekurzió Egy objektum definícióját rekurzívnak nevezünk, ha a definíció tartalmazza a definiálandó objektumot. Egy P eljárást (vagy függvényt) rekurzívnak nevezünk, ha P utasításrészében előfordul magának
Operációs rendszerek gyak.
Operációs rendszerek gyak. Linux alapok III., Bash Cirok Dávid Hirling Dominik Szegedi Tudományegyetem Cirok.David@stud.u-szeged.hu Hirling.Dominik@stud.u-szeged.hu Linux alapok III., Bash 1 Linkelés 2
Objektumorientált Programozás VI.
Objektumorientált Programozás VI. Tömb emlékeztető Egyszerű programozási tételek Összetett programozási tételek V 1.0 ÓE-NIK, 2011 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók
A Novitax ügyviteli programrendszer első telepítése
Telepítő fájl letöltése honlapunkról A Novitax ügyviteli programrendszer első telepítése A honlapunkon (www.novitax.hu) található telepítő fájlt (novitax2007-setup.exe) le kell tölteni a számítógép egy
Reguláris vagy szabályos kifejezések használata
Tartalom Reguláris vagy szabályos kifejezések használata 1. Bevezető...1 2. Bővített kifejezések (extended)...1 3. Alap szintű (basic) reguláris kifejezések...7 4. A grep és fontosabb kapcsolói...7 5.
Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.
Összetett programozási tételek Sorozathoz sorozatot relő feladatokkal foglalkozunk. A bemenő sorozatot le kell másolni, s közben az elemekre vonatkozó átalakításokat lehet végezni rajta: Input : n N 0,
Év Hatóság Szerző Dokumentumtípus Tárgy (az EuroVoc témakörei szerint Parlamenti ciklus Elérhető nyelvek
KERESÉS A HIVATKOZÁSOK ELEKTRONIKUS JEGYZÉKBEN Bevezető megjegyzések: Egy keresés során több kritériumot is lehet kombinálni: Pl.: kulcsszó és dokumentumtípus kulcsszó és szerző szerző és dokumentumtípus
A C programozási nyelv I. Bevezetés
A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,
A C programozási nyelv I. Bevezetés
A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,
Térinformatikai algoritmusok Elemi algoritmusok
Cserép Máté Analóg programozásnak nevezzük azt, amikor egy feladat megoldásához egy már ismert és megoldott feladat megoldását használjuk fel. Általában nem pontosan ugyanazt a feladatot oldottuk meg korábban,
Bevezetés a programozásba I.
Bevezetés a programozásba I. 8. gyakorlat Fájlkezelés Surányi Márton PPKE-ITK 2010.11.02. Fájlkezelés C++-ban C++-ban van lehet ségünk fájlok kezelésére. Itt már tényleges fájlokkal dolgozunk, nem pedig
Természetesen készíts egy csempe nevű könyvtárat és ide mentsd az index.html állományt.
Csempe kalkula tor A küldetésünk az, hogy segítsünk kiszámítani egy fürdőszoba csempeszükségletét (felületét). Sőt, ha a kalkulátort használó ügyfél elégedett egyből elküldheti az e-mail címét, hogy a
Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010
Programozási technikák Pál László Sapientia EMTE, Csíkszereda, 2009/2010 12. ELŐADÁS Adatbázis-kezelés Delphiben 2 Adatmegjelenítés lekérdezés segítségével A táblákhoz hasonlóan a lekérdezések is az adatbázis
az Excel for Windows programban
az Excel for Windows táblázatkezelőblázatkezel programban Mit nevezünk nk képletnek? A táblt blázatkezelő programok nagy előnye, hogy meggyorsítj tják és könnyebbé teszik a felhasználó számára a számítási
További vezérlő valamint számításokat megkönnyítő szerkezetek
Tartalom További vezérlő valamint számításokat megkönnyítő szerkezetek 1.A case szerkezet...1 2.A select szerkezet...3 3.Aritmetikai kiértékelés: számítások a (( )) szerkezettel...4 4.A C stílusú for ciklus...6
A jquery.clickheat egy jquery plugin, ami lekezeli a kattintásokat a kijelölt tartományban. jquery.clickheat
A jquery.clickheat egy jquery plugin, ami lekezeli a kattintásokat a kijelölt tartományban. jquery.clickheat Egy kijelölt terültet vagy az egész dokumentumon lekezeli a kattintásokat, majd egy AJAX (GET)
Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?
Bevezetés Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések Forráskód Hibajegyzék p2p.wrox.com xiii xiii xiv xiv xvi xvii xviii
Térinformatikai algoritmusok Elemi algoritmusok
Cserép Máté 2016. szeptember 14. Analóg programozásnak nevezzük azt, amikor egy feladat megoldásához egy már ismert és megoldott feladat megoldását használjuk fel. Általában nem pontosan ugyanazt a feladatot
Java II. I A Java programozási nyelv alapelemei
Java2 / 1 Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2009. 02. 09. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve
Tranzakció import funkció import fájl formátumai
K&H Bank Zrt. 1095 Budapest, Lechner Ödön fasor 9. telefon: (06 1) 328 9000 fax: (06 1) 328 9696 Budapest 1851 www.kh.hu bank@kh.hu Tranzakció import funkció import fájl formátumai K&H vállalkozói e-bankban
WEB PROGRAMOZÁS 1.ELŐADAS. Dr. Pál László Sapientia EMTE, Csíkszereda, tanév, I. Félév
WEB PROGRAMOZÁS 1.ELŐADAS Dr. Pál László Sapientia EMTE, Csíkszereda, 2015-2016 tanév, I. Félév Előadás tematika 1.Előadás: PHP alapok (adattípusok, operátorok, vezérlési szerkezetek, tömbök, függvények)
Kedvenc Ingyenes editorok avagy milyen a programozó jobbkeze? PSPAD editor DEVPHP IDE
Kedvenc Ingyenes editorok avagy milyen a programozó jobbkeze? Az Interneten nagyon sok fizetős szoftver gyakorlatilag sz sem ér, ezért mindenkinek azt javaslom mielőtt még gyors költekezésbe kezdene nézzen
Programozás I gyakorlat
Programozás I. - 2. gyakorlat Változók, kiiratás, bekérés Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Számítástudomány Alkalmazása Tanszék Utolsó frissítés: September 24, 2007 1 tar@dcs.vein.hu
1. tétel Halmazok és halmazok számossága. Halmazműveletek és logikai műveletek kapcsolata.
1. tétel Halmazok és halmazok számossága. Halmazműveletek és logikai műveletek kapcsolata. HLMZOK halmaz axiomatikus fogalom, nincs definíciója. benne van valami a halmazban szintén axiomatikus fogalom,
Részvételi regisztráció támogatása a tanfolyamszervező saját weboldalán
OFTEX dokumentum ENEF Fejlesztési és Kereskedelmi Kft. 2151, Fót, Mária u. 14/a Tel: 27 535-041 Fax: 27 362-899 Email:enefkft@invitel.hu Részvételi regisztráció támogatása a tanfolyamszervező saját weboldalán
Webes alkalmazások helyes szerkezete PHP-ban
Webes alkalmazások helyes szerkezete PHP-ban Konstantinusz Kft. 2010 1. Tartalomjegyzék 1. Tartalomjegyzék... 2 2. Mi az a leíró?... Hiba! A könyvjelző nem létezik. 3. Közvetett paraméter átadások... Hiba!