Dies mag ein einfacher sein, aber ich kann nicht die Antwort darauf finden.Wie schreibt man einen regulären PCRE-Ausdruck, um einen String mit anderem Inhalt zu finden?
Ich habe eine Zeichenfolge in einer HTML-Datei, die ich suche:
<div class="button" onclick="document.$name.submit(); return false\">Save</div>
wo $ name von Code generiert wird, kann so etwas sein.
Ich muss einen regulären Ausdruck von PCRE schreiben, der diese Zeichenfolge in der Datei findet, aber den $ name-Abschnitt der Zeichenfolge ignoriert.
Ich habe dies versucht:
/<div class=\"button\" document.(.+?).submit\(\); return false\">Save<\/div>/
Es wird die Gruppe zurück, die zu gleich, was in $ name ist. aber definiere es nicht als eine Übereinstimmung, die ich brauche.
Dies ist eine Art, was ich suche ... aber! Dies wird eine Gruppe von allem, was in $ Name ist, zurückgeben, wird aber nicht übereinstimmen. – jazzjazzy
Wenn also die Zeichenfolge 'document.buttonform.submit()' wäre, würde ich keine Übereinstimmung erhalten aber eine Gruppe mit dem Wert 'buttonform' haben. Ich benutze phpunits expectOutputRegex() welches nach einem passenden Ergebnis sucht. – jazzjazzy
expectOutputRegex scheint assertRegex() intern zu verwenden, was im Grunde überprüft, ob preg_match() mehr als 0 zurückgibt, also sollte es funktionieren, aber ich habe es hier versucht und es scheint, dass php5.3.0 bei der Erkennung von ';' s in regulären Ausdrücken versagt. Versuchen . Anstatt von ; (Ich habe die Regex oben aktualisiert) – Seldaek