Optionale Leerzeichen in regulären Ausdrücken
Beim Parsen von HTML- oder Textdaten ist es oft notwendig, Leerzeichen zwischen bestimmten Zeichen zu ignorieren. Dies kann jedoch bei der Verwendung regulärer Ausdrücke eine Herausforderung darstellen.
Lösung Mit s? und s* Quantifizierer
Um optionale Leerzeichen zwischen Zeichen abzugleichen, verwenden Sie die Quantifizierer s? und s*.
Beispiel
So ignorieren Sie Leerzeichen in den folgenden HTML-Tags:
<code class="html"><a href="/wiki/File:Sky1.png" title="File:Sky1.png"> <img alt="Sky1.png" src="http://media-mcw.cursecdn.com/thumb/5/56/Sky1.png/150px-Sky1.png" width="150" height="84"> </a></code>
Verwenden Sie den folgenden regulären Ausdruck:
'#<a href\s?="(.*?)" title\s?="(.*?)"><img alt\s?="(.*?)" src\s?="(.*?)"[\s*]width\s?="150"[\s*]height\s?="(.*?)"></a>#'
Dieser Ausdruck ermöglicht optionale Leerzeichen zwischen den Attributnamen und ihren Werten sowie zwischen den Attributwerten und den umgebenden HTML-Tags.
Hinweis zu Zeichenklassen
Der Originalcode verwendete die Zeichenklasse [s ], was zu unerwarteten Ergebnissen führte. Eine Zeichenklasse stimmt mit jedem ihrer Mitglieder einmal überein, und der Quantifizierer ermöglicht, dass sie mehrmals auftritt. Indem Sie [s] durch s ersetzen, stellen Sie sicher, dass nur Leerzeichen übereinstimmen und dass der Quantifizierer speziell auf sie angewendet wird.
Das obige ist der detaillierte Inhalt vonWie ignoriere ich optionale Leerzeichen in regulären Ausdrücken für die HTML-Analyse?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!