Regulärer Ausdruck - beginnt und endet mit einer Zeichenkette
77
Ich möchte einen regulären Ausdruck schreiben, der mit der Zeichenfolge "wp" beginnt und mit der Zeichenfolge "php" endet, um eine Datei in einem Verzeichnis zu finden. Wie mache ich es?
Das .*bedeutet "beliebiges Zeichen, 0 oder mehrmals wiederholt". Der nächste .wird maskiert, weil es sich um ein Sonderzeichen handelt und Sie eine wörtliche Periode (".php") möchten. Vergessen Sie nicht, dass Sie, wenn Sie dies als Literalzeichenfolge in etwas wie C #, Java usw. eingeben, dem Backslash entkommen müssen, da es in vielen Literalzeichenfolgen ein Sonderzeichen ist.
Dies sollte auch funktionieren: ^ wp. + \. Php $ Der einzige Unterschied ist das '+', was den Punkt "gierig" macht.
Adam Howell
9
@AdamHowell +und *beide sind gierig, obwohl Gier in diesem Fall keinen Unterschied macht. Der Unterschied besteht darin, dass *null oder mehr Zeichen und +ein oder mehrere Zeichen übereinstimmen. Wenn also jemand mit "wp.php" übereinstimmen möchte, sollte er Folgendes verwenden *: wenn sie speziell nicht dazu passen wollten, sollten sie verwenden +.
Antworten:
Dies sollte es für Sie tun
^wp.*php$
Streichhölzer
wp-comments-post.php wp.something.php wp.php
Passt nicht zusammen
something-wp.php wp.php.txt
quelle
^wp.*\.php$
Sollte den Trick machen.Das
.*
bedeutet "beliebiges Zeichen, 0 oder mehrmals wiederholt". Der nächste.
wird maskiert, weil es sich um ein Sonderzeichen handelt und Sie eine wörtliche Periode (".php") möchten. Vergessen Sie nicht, dass Sie, wenn Sie dies als Literalzeichenfolge in etwas wie C #, Java usw. eingeben, dem Backslash entkommen müssen, da es in vielen Literalzeichenfolgen ein Sonderzeichen ist.quelle
+
und*
beide sind gierig, obwohl Gier in diesem Fall keinen Unterschied macht. Der Unterschied besteht darin, dass*
null oder mehr Zeichen und+
ein oder mehrere Zeichen übereinstimmen. Wenn also jemand mit "wp.php" übereinstimmen möchte, sollte er Folgendes verwenden*
: wenn sie speziell nicht dazu passen wollten, sollten sie verwenden+
.Beispiel: ajshdjashdjashdlasdlhdlSTARTasdasdsdaasdENDaknsdklansdlknaldknaaklsdn
1)
START\w*END
return: STARTasdasdsdaasdEND - gibt Ihnen Wörter zwischen START und END2)
START\d*END
return: START12121212END - gibt Ihnen Zahlen zwischen START und END3)
START\d*_\d*END
return: START1212_1212END - gibt Ihnen Zahlen zwischen START und END mit _quelle