MudGuard: PHP Regex für Ordner

Beitrag lesen

Hi,

Ich möchte über die Regex einen Ordnerpfad (Linux) prüfen lassen.

warum mit einem Regex?

Der Ordner soll bestehen dürfen aus:

  • Sollte mindestens 5 Zeichen haben also für start/
  • und muss mit dem prefix start/ beginnen! (Also start ist immer der erste Ordner)

5 Zeichen sind aber zu wenig, wenn's mit start/ anfangen soll, weil das schon 6 Zeichen sind.

/[1]{5,75}$/

wenn's mit start anfangen soll:

~^start/[a-z0-9/-]{0,69}$~

Wenn / im Regex vorkommt, nimm ein anderes Zeichen als Delimiter, ich benutz gerne die Tilde. Wenn - in den [] als erstes oder letztes vorkommt, braucht's nicht escaped zu werden.

Damit hast Du geprüft: Länge, Anfang, Zeichenvorrat. Fehlt noch: -/ und /- darf nicht vorkommen.

Das würd ich als 2 Extra-Prüfungen danach abprüfen, einfach gucken, ob -/ oder /- im String vorkommt, das braucht noch nichtmal einen Regex.

cu,
Andreas a/k/a MudGuard


  1. a-z0-9-/ ↩︎