Schrift
[thread]6666[/thread]

Mehrere Regex-Treffer einem Array zuweisen: (war "Perlvariablen")



<< >> 8 Einträge, 1 Seite
Relais
 2005-01-26 11:42
#51343 #51343
User since
2003-08-06
2246 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
my $string = "asdfasdfasdf[TEST]asdfasdf a asfd asfd a f\nasdfasdfasfd[ASDF]asdf[ER]\n";
my @treffer = $string =~ m/(\[.*?\])/gs; # das ? hinter dem * sorgt dafür, dass nicht alles zwischen der ersten [ und der letzten ] in einen Treffer eingefangen wird.
print join( "\n", @treffer) , "\n";
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop (Termin wird noch gesucht) 2025 in München.

Winter is Coming
Relais
 2005-01-26 12:08
#51344 #51344
User since
2003-08-06
2246 Artikel
ModeratorIn
[Homepage] [default_avatar]
/.../ ist nur ein Alias für eine Funktion m/.../ .
Ich schreibe da lieber m/.../ (aber nur deshalb, weil ich es selber so lieber lese. Die Schreibweise ist Perl und den meisten Lesern ganz egal).

Als Referenz verwende ich perldoc (Das Kommando ist perldoc auf der Kommandozeile), notfalls http://www.perldoc.com.

Deutsche Übersetzungen gibt es auch hier im Wiki.

Und natürlich das Kamelbuch, 2 Auflage deutsch oder 3. Auflage englisch.
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop (Termin wird noch gesucht) 2025 in München.

Winter is Coming
Dubu
 2005-01-26 15:12
#51345 #51345
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Kein CGI-Problem => verschoben nach "Allgemeines"
Gast Gast
 2005-01-26 11:36
#51346 #51346
hi @ all!

kann mir bei folgender Frage jemand helfen - vllt. gibts auch ne ganz simple erklärung! :)

aus dem string möchte ich die Markierungen [BSP] rauslesen und in einer Liste speichern. Ich weiss nie, wieviele es sind.


vorsuch von mir:

my $string = "asdfasdfasdf[TEST]asdfasdf a asfd asfd a f\nasdfasdfasfd[ASDF]asdf[ER]\n";

$string =~ /.*(\[.*\])*.*/gs;

jetzt sollten die werte in den vordefinierten variablen $1..$n sein.

Problem1: tun sie aber nicht
Problem2: Bringt mir eigentlich auch nichts, denn wie soll ich die dann in ner liste vereinigen!?
Problem3: So wie ich des seh, gibts auch keine Liste in denen die Variablen $1..$n schon stehn

Wär nett, wenn mich jemand zu diesem Thema aufklären könnte...

DANKE!

MfG
Schakal
Schakal
 2005-01-26 12:00
#51347 #51347
User since
2005-01-26
4 Artikel
BenutzerIn
[default_avatar]
ich werd verrückt!!! des geht... ...und ich brech mir da einen ab! :)
vielen dank für die schnelle antwort - hätt ich nur früher gfragt...

nur so aus interesse: wofür das "m/..." - find ich in selfhtml gar nicht :(
welche referenz nutzt ihr denn??\n\n

<!--EDIT|Schakal|1106733801-->
Schakal
 2005-01-26 12:10
#51348 #51348
User since
2005-01-26
4 Artikel
BenutzerIn
[default_avatar]
merci
Gast Gast
 2007-09-21 17:24
#99821 #99821
Wo genau denn steht die schnelle Antwort und wie sieht sie aus ?
Ich suche nämlich auch eine Liste, in der die vordefinierten Variablen abgelegt und somit einzeln zugreifbar sind; habe einen Suchstring, der unterschiedlich lang sein kann und vor allem zu unterschiedlich vielen vordefinierten Variablen führen kann.

Gruß
Gast
renee
 2007-09-21 17:32
#99826 #99826
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
my @alle_treffer = $string =~ /Reg(ex)mit_Matches/g;

print "Treffer: $_\n" for @alle_treffer
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< >> 8 Einträge, 1 Seite



View all threads created 2005-01-26 11:42.