Regularne vyrazy - JS

Programovacie jazyky, rady, poradňa...
sharky-no
King
King
Používateľov profilový obrázok
Príspevky: 1681
Registrovaný: 31 okt 2006, 19:53

Regularne vyrazy - JS

Príspevok od používateľa sharky-no »

Davno som s regularnymi vyrazmi nepracoval, a nie su moja silna stranka, tak potrebujem od vas pomoc.

Mam subor, v ktorom su utriedene data v urcitej strukture, a potrebujem tieto data dostat odtial do nejakej premenej - objektu alebo niecoho s cim sa mi bude dobre pracovat.

Struktura suboru:

Kód: Vybrať všetko

@BOOK{Shinskey88,
  author = {F. G. Shinskey},
  year = 1988,
  title = {Process Control Systems: Application, Design and Tuning},
  edition = {3rd},
  publisher = {McGraw-Hill, New York}
}
@BOOK{Ogata90,
  author = {K. Ogata},
  year = 1990,
  title = {Modern Control Engineering},
  edition = {2nd},
  publisher = {Prentice-Hall, Englewood Cliffs, NJ}
}
@ARTICLE{CC53,
  author = {G. H. Cohen and G. A. Coon},
  year = 1953,
  title = {Theoretical Consideration of Retarded Control},
  journal = {Trans. ASME},
  volume = 75,
  pages = {827-834}
}
Je to celkom pekne a prehladne, ale mne to robi problem vyparsovat :\

zatial som dosiel na nieco taketo

Kód: Vybrať všetko

        var re1=/@\w*\{{1}((.*)\n*)*\}/g; 
        var result1=text.match(re1); 
        for(var i=0;result1[i];i++){
            console.log("["+i+"]: "+result1[i]);
      }
Problem je samotny regularny vyraz. Neviem ako ho spravne zadefinovat aby mi vybralo len jeden objekt zacinajuci sa tym @.
Konkretne ako mu povolit vsetky znaky medzi tymito zatvorkami @BOOK{ }
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Regularne vyrazy - JS

Príspevok od používateľa audiotrack »

Prestal som čítať za slovami "mám súbor". Javascript nevie pracovať so súborom. Takže ak do neho ten súbor nejako vkladáš cez php, môžeš si to parsovať rovno v tom php. Nie len že to bude jednoduchšie, ale aj rýchlejšie. Ak to tam píšeš "napevno" tak si zmeň štruktúru na takú, aby si to vyparsovať vedel (ešte lepšie aby si nič parsovať nemusel)
Takto na to ideš zle
sharky-no
King
King
Používateľov profilový obrázok
Príspevky: 1681
Registrovaný: 31 okt 2006, 19:53

Re: Regularne vyrazy - JS

Príspevok od používateľa sharky-no »

No, ide o projekt do skoly so zameranim na spracovanie suboru v HTML5, cize pracovat mozem len JS a ziadne PHP pouzit nesmiem. Samotny text zo suboru mam uz nacitany, takze pracujem uz len so stringom.
Taktiez tu strukturu suboru nemozem menit, pretoze to je export z urciteho programu, ktory ulahcuje vytvaranie zdrojov k pouzitym literaturam v nejakej praci.
Aiden
Darca
Darca
Používateľov profilový obrázok
Príspevky: 2213
Registrovaný: 06 apr 2007, 14:28

Re: Regularne vyrazy - JS

Príspevok od používateľa Aiden »

Akym sposobom vobec 'nacitavas' ten bibtex? Vkladas ho do textarea? Cele to zadanie je zvlastne uz len kvoli
projekt do skoly so zameranim na spracovanie suboru v HTML5
Na nieco take sa predsa html nepouziva
sharky-no
King
King
Používateľov profilový obrázok
Príspevky: 1681
Registrovaný: 31 okt 2006, 19:53

Re: Regularne vyrazy - JS

Príspevok od používateľa sharky-no »

Ok, tak len pre zaujimavost:

Kód: Vybrať všetko

<input type="file" id="files" name="file" />
<span class="readBytesButtons">
  <button>nacitat</button>
</span>

<script>
  function readBlob() {

    var files = document.getElementById('files').files;
    if (!files.length) {
      alert('Please select a file!');
      return;
    }

    var file = files[0];
    var reader = new FileReader();
    
    reader.onloadend = function(evt) {
      if (evt.target.readyState == FileReader.DONE) { // DONE == 2
       premena = evt.target.result;
       spracuj(premena);
      }
    };
    
    reader.readAsBinaryString(file);
  }
  
  function spracuj(text){
     
    console.log(text);

  }
  
  document.querySelector('.readBytesButtons').addEventListener('click', function(evt) {
      
      readBlob();
  }, false);
  
</script>
zdroj
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Regularne vyrazy - JS

Príspevok od používateľa audiotrack »

akonáhle je tam HTML a javascript v kontexte so súborom, tak je to kravina. Súbory sa ani v jendom z týchto dvoch jazykov nedajú spracovávať. Tiež by som bol zvedavý o čo tam vlastne ide
sharky-no
King
King
Používateľov profilový obrázok
Príspevky: 1681
Registrovaný: 31 okt 2006, 19:53

Re: Regularne vyrazy - JS

Príspevok od používateľa sharky-no »

je to predsa HTML5, ktora ponuka kopu inych moznosti, nie len pracu so suborom. Samozrejme ze klasicka HTML4.01 take nieco neponuka.
Aiden
Darca
Darca
Používateľov profilový obrázok
Príspevky: 2213
Registrovaný: 06 apr 2007, 14:28

Re: Regularne vyrazy - JS

Príspevok od používateľa Aiden »

Napísať odpoveď