Schrift
[thread]7640[/thread]

Regulaere Ausdruecke



<< >> 5 Einträge, 1 Seite
Gast Gast
 2006-01-21 19:19
#62109 #62109
Hallo ich bin neu hier. Moechte alle zunaechst einmal herzlich begruessen.

Ich habe da ein Problem mit regulaeren Ausdrucken und vielleicht findet sich jemand der mir dabei helfen kann.

Mein Problem ist folgendes:

Ich habe folgende Zeile z.B.

Inter Mailand v Juventus

Was ich nun ueber einen regulaeren ausdruck machen moechte ist "Inter Mailand" und "Juventus" zu trennen. Ein anderes Beispiel waere:

Verona v Samptoria

Ohne zu wissen wie ich das machen muss ist mir jedoch folgendes klahr. In der mitte von solchen Ausdruecken habe ich immer das "v" welches von einem Leerzeichen von vorne und von hinten gefolgt wird. Ich muss also dem Programm mit dem ich arbeite (der Name des Programms ist Lixto) sagen: Nimm als Heimmannschaft jene zeichenfolge die vor dem "Leerzeichen v Leerzeichen" steht. Dann muss ich dem Programm sagen nimm als Auswaehrtsmannschaft jene Zeichenfolge die nach "Leerzeichen v Leerzeichen" steht.

Ich hoffe ich habe das so gut wie nur moeglich erklaehrt. Ich waere fuer eure hilfe mehr als dankbar.

Mfg Alexander
altshaimer
 2006-01-21 19:28
#62110 #62110
User since
2006-01-21
2 Artikel
BenutzerIn
[default_avatar]
Aja noch eine letzte Bemerkung. Ich arbeite mit einem Wrapper. Das heist ich hole mir sachen aus dem internet die ich dann bearbeiten kann.

Was ich hiermit sagen moechte ist das ich nicht ein skript in Perl arbeiten kann. Ich kann nur die Regulaeren Ausdruecke benutzen. Ich habe vom Internet die Zeilen wie oben gezeigt geholt.

Als regulaeren Ausdruck habe ich z.B. folgendes versucht:
(.*)\s
Was jedoch das Programm macht ist folgendes:

Es holt mir folgenden Teil von der Zeile aus:

Verona v Samptoria

Vielleicht ist es nun ein bischen besser erklaehrt worden
pKai
 2006-01-21 20:17
#62111 #62111
User since
2005-02-18
357 Artikel
BenutzerIn
[default_avatar]
Wenn ich dich jetzt richtig verstanden habe suchst du einen Regex, den du dann in einem Tool namens "Lixto" verwenden willst?!
Da stellt sich natürlich die Frage, welchen Regex-Dialekt diese Tool spricht und welche Funktionen bereitstehen, die Regexe verarbeiten und wie da die Ergebnisse rauskommen...?

Scheint so (nach deinem Beispiel), dass es eine Match-Funktion gibt, und dass man die Ergebnisse fangender Klammern zurückbekommen kann!?

Also wenn $text eine perl-Variable ist, die die Zeile enthält, dann bekommst du aus dem (erfolgreichen) Match
Code: (dl )
$text =~ m/^(.*)\sv\s(.*)$/

eine Liste der beiden Teile vor und nach dem "v" geliefert.

HTH

P.S.: An Moderatoren: Falsches Sub-Forum, da kein "Perl-Problem"?
I sense a soul in search of answers.
renee
 2006-01-22 05:55
#62112 #62112
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
@altshaimer: Dein Regulaerer Ausdruck war zu "gierig"...

Das heisst, der RE haette immer moeglichst viele Zeichen bis zum letzten Whitespace genommen.

Mannschaft1 v Mannschaft2 => Mannschaft1 v
Mannschaft 1 v Mannschaft2 => Mannschaft 1 v
Mannschaft 1 v Mannschaft 2 => Mannschaft 1 v Mannschaft


Lesenswertes zu Regulaeren Ausdruecken:
perldoc perlre
perldoc perlretut
perldoc perlrequick

http://www.regenechsen.de
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/
altshaimer
 2006-01-22 11:23
#62113 #62113
User since
2006-01-21
2 Artikel
BenutzerIn
[default_avatar]
Danke an beiden.

Renee du hast vollkommen recht. Ich habe das nun so geloest, dass ich 3 Reg. Ausdruecke geschrieben habe. Das eine wird auf das ergebnis des vorherigen angewendet. Nun geht es :) .

Ich glaube hier im richtigen Forum zu sein. Die regulaeren Ausdruecke sind so wie bei Perl. Das heisst ihr kennt euch sicher mit solchen banalitaeten aus.

Schoenen Sonntag noch.
<< >> 5 Einträge, 1 Seite



View all threads created 2006-01-21 19:19.