maksyuli
Goto Top

Reguläre Ausdrücke - String nach bestimmtem Muster durchsuchen

Hallo Experten,

Mal sehen ob mir einer dabei helfen kann. Ich bin schon 2,5 Stunden dran und kriege es nicht hin. Ich habe folgende Dateinamen irgendwo in einem Baum:

Blabla.properties oder
Blabla_en.properties oder
Blabla_de.properties oder
Blabla_it.properties
…..

Ich will etwas wie ein Filter Einbauen, so dass ich nur eins davon raushole abhängig von der Sprache (Variable $Language).
Also der Reguläre Ausdruck zum suchen sollte irgendwie so aussehen:

$Cur_file =~ '/*_$Language\.properties$'  

Das funktioniert aber verdammt noch Mal nicht. Ich habe bis jetzt folgendes erreicht:

if ( -f $Current_file
				
	&& $Current_file =~ '/*_{1,}/*'  
	&& $Current_file =~ /$Language/
	&& $Current_file =~ '/*\.properties$'  
   )
    { # tue was}

Da kommt natürlich auch nicht das wahre Ergebnis raus, weil nach der Variable $Language und der Unterstrich überall und nicht nur am Schluss des Strings gesucht wird.
Das kann man bestimmt irgendwie besser und zusammen schreiben.

Wo finde ich im Netz gute Artikel über Reguläre Ausdrücke?

Content-Key: 95318

Url: https://administrator.de/contentid/95318

Printed on: April 16, 2024 at 07:04 o'clock

Member: maksyuli
maksyuli Aug 26, 2008 at 13:06:26 (UTC)
Goto Top
Tja ,wenn es mit 2 Stunden Überlegung nicht klappt, klappt es anscheinend mit 5 hier meine Lösung:
my $MyLanguageRestrction = '/*_'."$Language".'\.properties$';  
     if (   -f $Current_file && 
               $Current_file =~ /$MyLanguageRestrction/
        )
	{
	        print "File $Current_file\n";  
	}
Mitglied: 6890
6890 Aug 28, 2008 at 20:25:58 (UTC)
Goto Top
tach,

tutorial:
perldoc perlre

mfg
Member: maksyuli
maksyuli Aug 29, 2008 at 07:28:04 (UTC)
Goto Top
Cool, Danke!