BLOGas.lt
Lėktuvų bilietai
Sukurk savo BLOGą Kitas atsitiktinis BLOGas

REGEX pamoka - Kaip naudoti BACKREFERENCE

Ši pamoka skirta tiems kurie yra jau šiek tiek susipažinęs
su REGEX. Nurodytu kodo pavyzdžius yra Javascript kalboje. Kas tai BACKREFERENCES ( toliau backrefs )?

Kai REGEX išraiška randa atitinkančiu simbolius jis saugoja
jų į specialius kintamasis vadinami BACKREFERENCES. Jie yra vardinami su doleriu
simboli ir skaičius pvz. $1, $2 , $3 ir t.t. 

Kaip ir kada jų naudoti? Tarkim jus norite pridėti „-ta“
prie kiekviena skaičius eilutėje. Taigi jei eilute turini yra „šiandien 18
diena“ norėtum kad jis butu paversta į „šiandien 18-ta diena“

var test = “šiandien 18 diena”;

test = test.replace(/([0-9]+)/g,”$1-ta “);

alert( test );

Kaip matote vietoj $1 buvo įrašyta “18“

Dabar žiūrėsim į sudėtingesnį užduoti – trakim turime šis
eilute:

„šiandien 18 diena mes 3 valgome 12 pyragus“

mes norėtum paversti tik skaičius po kuri yra tarpas
ir raide „d“

„šiandien 18-ta diena mes 3 valgome 12 pyragus“

ankstesni sprendimą neveiks nes jis paverčia visus skaičius:

„šiandien 18-ta diena mes 3-ta valgome 12-ta pyragus“

Štai užduočių sprendimą:

var test = “šiandien 18 diena mes 3 valgome 12 pyragus”;

test = test.replace(/([0-9]+)\sd/g,”$1-ta d”);

alert( test );

rezultatą: „šiandien 18-ta diena mes 3 valgome 12 pyragus“

Jei reikia sudėtingesniu operacijos atlikt atitinkančioms
simboliams tada galima naudoti „function“ galimybe – kai naudojam „function“
jame bus viena parametrą kuriame bus saugota atitinkančių simboliu

var test = “šiandien 18 diena mes 3 valgome 12 pyragus”;

test = test.replace(

 
/([0-9]+\s[a-zA-Z])/g,

  function(m){

   
if(m.substr(m.length-1,1)==”d”){

     
return(m.substr(0,m.length-2) + “-ta d”)

      }

     else
if(m.substr(m.length-1,1)==”v”){

      
return(m.substr(0,m.length-2) + “-se v”)

       }

       else{

          return(m)

          }

     });

alert( test );

rezultatą: „šiandien 18-ta diena mes 3-se valgome 12 pyragus“

 

 

Rodyk draugams

Kviečiu klausimus apie programavima

Kviečiu visiems suinteresuoti paduoti klausimus apie programavimo šiose srityse:

1. Javascript/AJAX

2. PHP

3. Actionscript 2.0

4. ASP

Teko valandu valandos, kartais dienos kankintis prie kartais viena užduotelis - man butu malonu bent padalint gauta patirti ir gal iš pačios komentarus išmokti ką kiti sužinojo. Įvardinsiu pora konkrečius užduočiu kuri sprendžiau:

1. Efektingai naudojant REGEX ( Regular Expressions ) PHP, Javascript ir Actionscript programavimui

2. Apdirbti paveikslu su permatomumo ( transparent ) per GD ( Graphic Library ) programuodama su PHP ir palaikyt permatomumas ( alpha ) kai paveikslas rodoma per Explorer ankstesne versija negu 7a.

3. Išsaugoti duomeniu iš Flash į kita serveri negu ta kur talpinta pati SWF ( kaip įveikti FLASHo smėlio dėžes apribojimus )

4. Kaip apsukti paveikslas naudojant Javascript į norima laipsni

Čia neįvardinsiu visus užduočių kuri sprendžiau nes net nebe prisimenu visus - geriau žinoti kas yra aktualu skaitytojams - taigi laukiu iš jūsų klausimu.

Rodyk draugams

Blogo struktura

Mastau kaip geriau padalinti informacija šiame BLOGe.

Nusprendžiau šitaip:

Pagrindiniame įrašo vieta ( tai yra čia kur skaitot ) bus skirta viskam papasakoti trumpa/apskritai o kai reikia giliau nerti į kokie nors tema tarkim - kaip sukurti šešėli tekstui naudojant PHP su GD tada bus nuoroda i kur nors kitur arba gal i pačia BLOGa kitoj vietoj o ten bus tarkim skirta PHP temom, arba net PHP su GD temom.

Rodyk draugams

trumpai apie mane

Tiek kiek internetas yra gyvybiškai svarbus šiuolaikiniame gyvenime taip pat jis gali būti laiko gaišimas - kadangi neegzistuoja jokiu turinio kontrole visko būna - ir naudinga informacija ir beprasmiška.

Taigi svarbu žinot kas esu toks - ar verta skaityt tai ką aš rašau?

Na visu pirma aš ne Lietuvis o Maltietis ( prie Italijos ) - tai aišku neduoda jokiu privilegijų bet visada yra gerai klausyt ką mano užsienietis nes be jokiu abejone jis turės šiek tiek kitokie požiūris.

Esu programuotoja, turėjau mano pirma kompiuteri kai man buvo šešiolika metu ( tai buvo 1980 metais ) tuomet nebuvo įprasta turėti kompiuteri - nuo pat pirma diena pradėjau prie jo programuoti BASIC kalboj.

Dabar, po 26 metu, turiu savo nedideli įmone kuri užsiima interneto svetainių kūrimas ir su ja susijes programavimas ( http://www.prontanet.lt )

Pats sukūriau šita savo svetaine ir pats padarau paieškos sistemų optimizavimas - viska išmokau pats pradedant nuo nulio. Tai reiškia kad man lengviau papasakoti kaip jis daroma nuo A iki Z

Kol kas šiandien turiu baigti - lauke darbeliu!!

Rodyk draugams