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?

Beispieldatei: wp-comment-post.php

Ken Shoufer
quelle
4
Hier gibt es ein gutes Tutorial: regulär-expressions.info
Casimir et Hippolyte
Warum Regex? Möchten Sie bei der Suche nach Dateien nicht lieber Globbing verwenden?
Tim Pietzcker
1
Wie würden Sie es mit Globbing machen?
Ken Shoufer

Antworten:

116

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
Syon
quelle
45

^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.

Michelle
quelle
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 +.
Michelle
8

Beispiel: ajshdjashdjashdlasdlhdlSTARTasdasdsdaasdENDaknsdklansdlknaldknaaklsdn

1) START\w*END return: STARTasdasdsdaasdEND - gibt Ihnen Wörter zwischen START und END

2) START\d*END return: START12121212END - gibt Ihnen Zahlen zwischen START und END

3) START\d*_\d*END return: START1212_1212END - gibt Ihnen Zahlen zwischen START und END mit _

Nayan Hodar
quelle