Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erläuterung der Verwendung regulärer Behauptungen mit der Breite Null auf Basis von PHP

Detaillierte Erläuterung der Verwendung regulärer Behauptungen mit der Breite Null auf Basis von PHP

php中世界最好的语言
php中世界最好的语言Original
2018-03-29 15:58:591538Durchsuche

Dieses Mal werde ich Ihnen eine detaillierte Erklärung der Verwendung regulärer PHP-Assertionen mit Nullbreite geben. Was sind die Vorsichtsmaßnahmen bei der Verwendung von PHP-Assertionen mit regulärer Nullbreite? sehen.

Das Beispiel in diesem Artikel beschreibt die Behauptung der Nullbreite eines regulären Ausdrucks. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Vorwort

① Was ist eine Behauptung mit der Breite Null und warum wird sie verwendet? eine Behauptung mit der Breite Null
② So verwenden Sie die Behauptung mit der Breite Null

Konzept

Behauptung mit der Breite Null, die meisten Stellen definieren sie Dies wird verwendet, um bestimmte Inhalte zu finden (Aber es enthält keine Dinge vor oder nach diesen Inhalten), das heißt, ihre Verankerungswirkung wird verwendet, um eine Position anzugeben, die bestimmten Inhalten entsprechen soll Bedingungen (d. h. Behauptungen), daher werden sie auch Behauptungen mit der Breite Null genannt. Mein Verständnis besteht darin, eine passende Suche vor oder nach einer -Zeichenfolge an einer begrenzten Position durchzuführen. Daher ist der Ausführungsprozess von Behauptungen mit der Breite Null in zwei Situationen unterteilt. Wenn es sich um eine Vorwärtsbehauptung handelt, sollte der erste Schritt darin bestehen, zu beurteilen, ob die Behauptung wahr ist (dh ob sie bestimmte Bedingungen erfüllt). Der zweite Schritt besteht darin, mit dem nächsten Schritt fortzufahren, wenn die Bedingungen erfüllt sind. Wenn es sich um eine umgekehrte Behauptung handelt, besteht der erste Schritt darin, die Reihenfolge der regulären Ausdrücke abzugleichen. Der zweite Schritt besteht darin, festzustellen, ob eine umgekehrte Bestätigung vorliegt, wenn eine umgekehrte Bestätigung vorliegt.

Positive Lookahead-Behauptung

Was ist eine positive Lookahead-Behauptung? Suchen und Abgleichen vor der entsprechenden Position in der Zeichenfolge mithilfe von (?= exp) Matching Die Position vor exp.

Beispiel

$str="abcgwcab";
$parent='/bc(?=gw)/';
$str=preg_match($parent,$str,$match);
var_dump($match);
/**
输出结果:
int 1
array (size=1) 
  0 => string 'bc' (length=2)
  */

Analyse: Suchen Sie zuerst die GW-Position in der Zeichenfolge „abcgwcab“, bestätigen Sie, dass sie wahr ist, und passen Sie dann bc an. Wenn der reguläre Ausdruck als $parent='/bc(?=gw)ca/' geschrieben ist, ist die Übereinstimmung nicht erfolgreich.

Anti-Lookahead-Behauptung

Was ist eine Anti-Lookahead-Behauptung? Verwenden Sie (?!exp), um abzugleichen, was nicht von exp gefolgt wird .

Beispiel:

$str="abcgwcab";
$parent='/bc(?!ww)gw/';
$str=preg_match($parent,$str,$match);
var_dump($str);
var_dump($match);
/**
输出:
int 1
array (size=1)
 0 => string 'bcgw' (length=4)
*/

Analyse: Bestimmen Sie zuerst, ob die Zeichenfolge bc enthält, dann bestimmen Sie, ob ww folgt, und passen Sie schließlich gw an. Es ist ersichtlich, dass vor und nach der umgekehrten Behauptung weitere Übereinstimmungsbedingungen hinzugefügt werden können.

Behauptung vor und nach

Was eine Behauptung vor und nach ist, ist die Suche und Übereinstimmung nach der entsprechenden Position in der Zeichenfolge ( ?<= exp) entspricht der Position nach exp

Beispiel:

$str="abcgwcab";
$parent=&#39;/(?<=gw)ca/&#39;;
$str=preg_match($parent,$str,$match);
var_dump($str);
var_dump($match);
/**
输出结果:
int 1
array (size=1)
 0 => string 'ca' (length=2)
*/</p>
<p style="text-align: left;"> Analyse: Der erste Schritt besteht darin, herauszufinden, ob das Zeichen „abcgwcab“ gw enthält. Das Rückgabeergebnis ist wahr , und fahren Sie dann mit dem zweiten Schritt Schritt 1 fort: Finden Sie heraus, ob nach gw ca steht. </p>
<p style="text-align: left;"><span style="font-size: large"><strong>Anti-posteriore Behauptung</strong></span></p>
<p style="text-align: left;">Was ist eine anti-posteriore Behauptung, Verwendung (?</p>
<pre class="brush:php;toolbar:false">$str="abcgwcab";
$parent='/(?<!bc)gw/';
$str=preg_match($parent,$str,$match);
var_dump($str);
var_dump($match);
/**
int 0
array (size=0)
 empty
*/

Analyse: Passen Sie zuerst gw in der Zeichenfolge an und bestimmen Sie dann, ob ein bc vorangestellt ist, sodass „false“ zurückgegeben wird. Bestimmen Sie, ob eine Zeichenfolge „abc“ enthält und ob sie eins oder enthält mehr Zahlen davor

Beispiel 2: Bestimmen Sie, ob die Zeichenfolge zwei aufeinanderfolgende Zahlen enthält und sie einen Buchstaben dahinter enthält

Beispiel 3: d+(?=abc)
Bestimmen Sie, ob die Zeichenfolge drei aufeinanderfolgende Zahlen enthält und auf die drei Zahlen nicht 55 folgt

Beispiel 4: (?<=dd)w
Bestimmen Sie, ob eine Zeichenfolge eine Kombination aus Buchstaben und Zahlen enthält, und Es wird kein ac vorangestellt Zuerst und zuletzt finden Sie hier die Reihenfolge der anderen übereinstimmenden Aussagen im regulären Ausdruck >

d{3} (?!55)

(?<!ac)wd

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

So implementieren Sie die Fuzzy-Matching-Funktion regulärer Ausdrücke

Verwenden Sie reguläre Ausdrücke zum Überprüfen und Bestimmen Passwörter Stärke und Schwäche und Aufforderungen

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung regulärer Behauptungen mit der Breite Null auf Basis von PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn