Alt 25.07.2011, 20:18:10   #1 (permalink)
(X)HTML/CSS/JS/PHP
Benutzerbild von Helo

ID: 316075
Lose-Remote

Helo eine Nachricht über ICQ schicken
Reg: 31.03.2008
Beiträge: 731
Helo genießt hohes AnsehenHelo genießt hohes AnsehenHelo genießt hohes AnsehenHelo genießt hohes AnsehenHelo genießt hohes AnsehenHelo genießt hohes AnsehenHelo genießt hohes AnsehenHelo genießt hohes AnsehenHelo genießt hohes AnsehenHelo genießt hohes AnsehenHelo genießt hohes Ansehen
Standard *Lösung gefunden* RegEx: Subpattern

Guten Abend,

ich hab mal wieder ein Problem mit meinem Erzfeind, dem RegEx
Folgender Code ist bislang vorhanden:
PHP-Code:
1:
2:
$this->con "{test} {test2}\n{test3} {test4:test5}";
preg_match_all("/\{(.*):?(.*)\}/iU"$this->con$matches); 
ein print_r($matches) gibt folgendes aus:
PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
Array
(
    [
0] => Array
        (
            [
0] => {test}
            [
1] => {test2}
            [
2] => {test3}
            [
3] => {test4:test5}
        )

    [
1] => Array
        (
            [
0] => 
            [
1] => 
            [
2] => 
            [
3] => 
        )

    [
2] => Array
        (
            [
0] => test
            
[1] => test2
            
[2] => test3
            
[3] => test4:test5
        
)


Herauskommen soll aber folgendes:
PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
Array
(
    [...]
    [
1] => Array
        (
            [...]
            [
3] => test4
        
)

    [
2] => Array
        (
            [
0] => test
            
[1] => test2
            
[2] => test3
            
[3] => test5
        
)


Ich steh grad irgendwie auf dem Schlauch und freue mich schon auf eure Antworten.

Grüße
Helo

Geändert von Helo (25.07.2011 um 20:41:17 Uhr)
Helo ist offline   Mit Zitat antworten
Gesponsorte Links
Alt 25.07.2011, 20:36:01   #2 (permalink)
Blubb!

ID: 121159
Lose-Remote

Claudi eine Nachricht über ICQ schicken
Reg: 20.04.2006
Beiträge: 122
Claudi sorgt für eine eindrucksvolle AtmosphäreClaudi sorgt für eine eindrucksvolle AtmosphäreClaudi sorgt für eine eindrucksvolle Atmosphäre
Standard

Hi,

nimm beide Male in den den Klammern anstatt dem . ein [^:] , so dass nur Zeichen gematcht werden, die kein Doppelpunkt sind ;-)

Edit: Zur Erklärung (zumindest wie ich es verstehe):
Da du ungreedy bist, matcht das erste (.*) erst mal garnix, dann kommt der :?, da wir aber noch am Anfang des Strings sind matcht der auch net. Und das 2. (.*) übernimmt dann alles was in den geschwungenen Klammern steht, weils ja sonst noch net gematcht wurde.

Geändert von Claudi (25.07.2011 um 20:44:20 Uhr)
Claudi ist offline   Mit Zitat antworten
Alt 25.07.2011, 20:40:39   #3 (permalink)
(X)HTML/CSS/JS/PHP
Benutzerbild von Helo

ID: 316075
Lose-Remote

Helo eine Nachricht über ICQ schicken
Reg: 31.03.2008
Beiträge: 731
Helo genießt hohes AnsehenHelo genießt hohes AnsehenHelo genießt hohes AnsehenHelo genießt hohes AnsehenHelo genießt hohes AnsehenHelo genießt hohes AnsehenHelo genießt hohes AnsehenHelo genießt hohes AnsehenHelo genießt hohes AnsehenHelo genießt hohes AnsehenHelo genießt hohes Ansehen
Standard

Vielen Dank!
Klappt perfekt
Helo ist offline Threadstarter   Mit Zitat antworten
Antwort

Gesponsorte Links

Anzeige


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Java] Regex: Wortsuche WhiZZler Programmierung 3 25.07.2011 20:53:06
[JavaScript] RegEx Frage Elbo Programmierung 16 02.09.2009 11:35:20
[Gelöst][REGEX/PHP] Regex für "BB-Tags" Sebmaster Programmierung 2 07.04.2009 12:00:02
[PHP] RegEx Vergleichsoperatoren NagathoR Programmierung 3 23.11.2007 11:14:47
[RegEx] So ok - Verbesserungen? flaschenkind Programmierung 13 08.01.2007 20:26:29


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:55:21 Uhr.