ugrás a tartalomhoz

Archívum - Feb 13, 2013 - Fórum téma

Javascript mintaillesztés, Node.js

deejayy · 2013. Feb. 13. (Sze), 14.54
Sziasztok,

egy elég misztikus hibába ütköztem, és nem nagyon tudok a végére járni.

Van egy node.js scriptem, UDP-n érkező adatokat dolgoz fel. A bejövő streamet természetsen stringgé alakítom és kivágom belőle azt, ami nekem kell.

Szóval van ez a kódrészlet:

res = this.patterns.logsync.exec(logLine);

console.log(logLine);
console.log(this.patterns.logsync);
console.log(res);
A konzolba az alábbiakat írja:

log L 02/13/2013 - 13:13:40: "rezso :D<13478><STEAM_0:0:123456789><CT>" logsync (ip "188.188.188.128:27005") (port "0") (hit "0") (hit_head "0") (hit_wall "3") (kill "21") (kill_head "8") (kill_wall "0") (shot "0") (death "7") (time "718")

/log L ([0-9]{2})/([0-9]{2})/([0-9]{4}) - ([0-9]{2}):([0-9]{2}):([0-9]{2}): "(.*?)<([0-9]+)><((STEAM|VALVE|BOT)(.*?))><([A-Z_]*)>" logsync .ip "(.*?)". .port "([0-9-]*)". .hit "([0-9-]*)". .hit_head "([0-9-]*)". .hit_wall "([0-9-]*)". .kill "([0-9-]*)". .kill_head "([0-9-]*)". .kill_wall "([0-9-]*)". .shot "([0-9-]*)". .death "([0-9-]*)". .time "([0-9-]*)"./gi

null

(sorkihagyások nincsenek, csak gondoltam tagolom a jobb olvashatóság miatt)

A "this.patterns.logsync" egy RegExp objektum.

A probléma az, hogy a harmadik console.log üzenet null-t ad vissza. Aminek persze nem nullnak kellene lennie.

perl rmintaillesztés

Imre84 · 2013. Feb. 13. (Sze), 13.28
Sziasztok!

Van 1 string:

Ez itt egy string
aminek kell egy része
ez az: 123456
utolsó sor

Ebből nekem az 123456 kell, de ez minden futásnál másik szám, a többi ugyanaz. Meg tudom csinálni úgy, hogy tömbbe teszem, bejárom, és amikor az elem így kezdődik: "ez az:" akkor kettévágom, de ennél szerintem sokkal egyszerűbben meg lehet oldani reguláris kifejezéssel. Kérdésem az lenne hogy hogyan?