Ich versuche regexr.com zu verwenden, um einen Ausdruck zu schreiben, der bestimmten Zahlen in den Dateinamen unten entspricht. Der Ausdruck wird dann in einer PHP-Methode preg_match() verwendet, um Dateien zu identifizieren, die sich auf dem Server befinden sollten. Nicht übereinstimmende Dateien werden gelöscht.Genaue Nummer in einer gegebenen Zeichenkette finden
In diesem Beispiel soll der Ausdruck 187906 und 187909 übereinstimmen (die anderen Dateien können also gelöscht werden). Ich dachte, ich könnte schreiben (187906 | 187909) was funktioniert, aber das würde natürlich auch mit 11879066 oder 11879099 übereinstimmen und so weiter. Vor und nach der Nummer wird immer ein nicht numerisches Zeichen sein; entweder alphabetisch oder als Punkt.
-rw-r--r--. 1 root root 2190476 Jan 26 16:48 source187905.jpg
-rw-r--r--. 1 root root 1691755 Jan 26 16:48 source187906.jpg
-rw-r--r--. 1 root root 1780389 Jan 26 16:48 source187907.jpg
-rw-r--r--. 1 root root 1692330 Jan 26 16:48 source187908.jpg
-rw-r--r--. 1 root root 1622615 Jan 26 16:48 source187909.jpg
\ D ist ein nicht-numerisches Zeichen so '\ D (187906 | 187909) \ D' Ich denke, würde es tun. oder Sie könnten eine Zeichenklasse für Alpha oder Full-Stop verwenden. – chris85