Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  PHP-s regex tõlke meetodi matchimiseks *.js failidest märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale. Teata moderaatorile
otsing:  
raido357
HV veteran

liitunud: 26.09.2002




sõnum 28.01.2014 23:21:36 PHP-s regex tõlke meetodi matchimiseks *.js failidest vasta tsitaadiga

Tere,

Ei ole regex-iga sina peal ning palun abi.

Oleks vaja matchida *.js failidest, järgnevaid osi:

__t('Mingi tekst')

Too __t() võib olla ükskõik mis teise meetodi sees või "" märkidest tekst.

Näiteks:

alert(__t('Mingi tekst') );
alert(__t("Mingi tekst") );

Lisaks võib __t() esinseda kujul alert(__t( var_name ) ); - ehk siis kus meetodisse edastatud muutuja, sellisel juhul regex ei tohi matchida.

Seni katsetused oma peaga olen saanud osaliselt matchima.

Tänu abistajale.
Kommentaarid: 78 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 70
tagasi üles
vaata kasutaja infot saada privaatsõnum
Redikate
HV veteran
Redikate

liitunud: 30.12.2005




sõnum 28.01.2014 23:54:35 vasta tsitaadiga

http://regex101.com/r/oA7eU4
_________________
http://nodejs.org/
"I'm also a person. Programming is just one thing I do."
Kommentaarid: 34 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 33
tagasi üles
vaata kasutaja infot saada privaatsõnum
gynterk
HV kasutaja

liitunud: 17.01.2004




sõnum 29.01.2014 01:28:15 vasta tsitaadiga

Ei saanud täpselt aru, et kas tahad koos funktsiooniga või ainult sisu, kui sisu, siis sobib Redikate variant, kui koos siis
(__t\(["'].*["']\))
Kommentaarid: 5 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 5
tagasi üles
vaata kasutaja infot saada privaatsõnum
raido357
HV veteran

liitunud: 26.09.2002




sõnum 30.01.2014 00:18:57 vasta tsitaadiga

Redikate kirjutas:
http://regex101.com/r/oA7eU4


Tänud. Ühte juhtu see ainult ei kata, kui on __t( "Mingi tekst" ) - ehk siis tühikuid enne ja pärast jutumärke.

Edit: Sain lahendatud -

1 - tühik kummalgi pool http://regex101.com/r/bZ5yN4
n tühikuid - http://regex101.com/r/vS9uP8

Edit2:

Paari varianti veel ei match-i:

true ? __t( 'Mingi tekst' ) : __t( 'Teine tekst' );

$(el).html( __t( 'Tekst' ) + variable + '__t( 'Tekst' ) );

function( [ __t( 'tekst' ), __t( 'tekst2' ) ] );

Edit 3 lahendus:

http://regex101.com/r/uU5cK2

Lipp U lisatud - ungreedy.

Edit 4 - Üks pattern valmistab veel raskusi -

alert( __t( 'Mingi tekst {0}, {1} .. {n}', 'tere', 'ants', '...') );

Ehk siis, tuleks matchida lisaks eelnevatele juhtudele ka varianti, kus argumente on > 1 - kõik ülejäänud argumendid, asendab __t meetod 1 argumendi {0}... {N} asemele.

Lahendus -

Teine match group, mida lihtsalt ignoreerin.

http://regex101.com/r/mD5cG7

Edit 5 -

Lahedus 4 ei matchi -

alert( __t( 'Minu tekst kolm "tekst jutumärkides" {0} {1}..', 'tere', 'tore' ) )

Edit6:

Tegin chain-itud meetodi, mis avaldist ei sega. Midagi stiilis:

alert( __t( 'Minu tekst kolm "tekst jutumärkides" {0} {1}' ).tprintf( 'tere', 'tore' ) )

Kellel veel huvi katsetada, siis palun väga.
Kommentaarid: 78 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 70
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  PHP-s regex tõlke meetodi matchimiseks *.js failidest
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.