Regex Help

  • Okay mal eine kurze Frage:
    Ich bräuchte ein Regex, dass den "> greentext" ala 4chan matcht, und zwar in einem String mit dem layout: ">text\ntext\n>text\n>text", dabei ist es egal ob alles auf einmal gematcht wird, oder das ganze mehrere Durchläufe braucht. Mein momentaner Code

    Code
    (\n|^)>(.*?)(\n|$)
    $1<span style="color: #32CD32;">&gt;$2</span>$3

    hat das Problem, dass bei aufeinanderfolgenden ">text\n" nur jede zweite Zeile gematcht wird (da ja immer das hintere \n mitgematcht wird und somit die das führende \n nicht gefunden werden kann)

    (Soll auf MyBB laufen, weiß nicht genau welcher Parser da verwendet wird :/ )

  • Kannst du ein Textstück als Sample bringen und dann was da wie gruppiert und gefunden werden soll...? Ich bin momentan eher verwirrt, was du genau möchtest...

    > Höre nie auf anzufangen. Fange nie an aufzuhören.
    > Zeit hat, wer sich Zeit nimmt.

  • In a nutshell: 4chan greentext ^^

    Code
    >Lorem ipsum dolor sit amet, 
    >consetetur sadipscing elitr, 
    >sed diam nonumy eirmod 
    tempor invidunt ut labore et
    dolore magna aliquyam erat, sed
    >diam voluptua. At vero
    eos et accusam et justo
    >duo dolores et
    >ea rebum. Stet clita kasd

    soll werden zu

    Code
    [color=green]>Lorem ipsum dolor sit amet,[/color]
    [color=green]>consetetur sadipscing elitr,[/color]
    [color=green]>sed diam nonumy eirmod[/color]
    tempor invidunt ut labore et
    dolore magna aliquyam erat, sed
    [color=green]>diam voluptua. At vero[/color]
    eos et accusam et justo
    [color=green]>duo dolores et[/color]
    [color=green]>ea rebum. Stet clita kasd[/color]

    (Statt den BB Codes die entsprechenden html codes, aber das ist ja dann kein problem mehr)
    Ist mehr so eine Übung in RegEx, hab mir das so als fun feature gedacht und als leichter eingeschätzt als es ist und jetzt will ich das problem knacken

  • Wie wärs mit einem einfachen split über ">\n"? Das ist zwar kein RegEx aber in deinem Fall sollte das doch funktionieren...

    > Höre nie auf anzufangen. Fange nie an aufzuhören.
    > Zeit hat, wer sich Zeit nimmt.

  • Hier noch ein PHP-Beispiel mit RegEx:

    Output:

    > Höre nie auf anzufangen. Fange nie an aufzuhören.
    > Zeit hat, wer sich Zeit nimmt.

  • Problem ist die Forensoftware lässt nur regex für die bbcodes zu. Klar ich könnts schon reinschreiben, nur ich änder ungern direkt was am Code. Es müsste hald mit Regex auch gehen eigentlich ^^

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!