regular expression $-Suche

Soapp

Erfahrenes Mitglied
Hi Profis,


ich habe einen String der mit 3 Dollarzeichen anfängt.
z. bsp.: $$$1#Platzhalter#
Komischer weise funktioniert die Suche nach $$$1 weder mit

\$\$\$[0-9]

oder

\${3}[0-9]

weiss jemand warum ?

Danke
 
Gumbo hat gesagt.:
Wie sieht denn der Funktionsaufruf mit diesem Regulären Ausdruck aus?

String: $$$1#Platzhalter#

PHP:
$ausgabe_dollar = preg_match_all("/${3}[0-9\s]*#.*#/U", $text, $gefunden_dollar);

foreach ($gefunden_dollar[0] as $x)
{
}
 
Das Problem scheint wohl die Auszeichnung des Regulären Ausdrucks und der Reguläre Ausdruck selbst zu sein. Probier mal Folgendes:
PHP:
$string = '$$$1#Platzhalter#';
preg_match_all('/\${3}[0-9\s]*#.*#/U', $string, $matches);
var_dump($matches);
Zur Erklärung: Der Ausdruck „${3}“ wird in deinem Beispiel durch die Zeichenkettenauszeichnung mit doppelten Anführungszeichen als Variablendeklaration interpretiert und als Variable „$3“ übersetzt.
 
Gumbo hat gesagt.:
Das Problem scheint wohl die Auszeichnung des Regulären Ausdrucks und der Reguläre Ausdruck selbst zu sein. Probier mal Folgendes:
PHP:
$string = '$$$1#Platzhalter#';
preg_match_all('/\${3}[0-9\s]*#.*#/U', $string, $matches);
var_dump($matches);
Zur Erklärung: Der Ausdruck „${3}“ wird in deinem Beispiel durch die Zeichenkettenauszeichnung mit doppelten Anführungszeichen als Variablendeklaration interpretiert und als Variable „$3“ übersetzt.


ah, super, danke !
Wieder was neues gelernt :)
 
Zurück