Regex für jedes englische ASCII-Zeichen einschließlich Sonderzeichen

8

Ich möchte eine Regex in PHP schreiben, um nur alle englischen Zeichen, Leerzeichen, Zahlen und alle Sonderzeichen zu entsprechen.

Aus dieser Frage Regex any ASCII-Zeichen

Ich habe das versucht

%Vor%

aber es gibt eine Warnung

%Vor%

Also, wie schreibe ich diese Regex in PHP.

die Alternative wäre etw wie [a-z \ d \ s] und auch eine nach der anderen alle Sonderzeichen, aber gibt es keine Möglichkeit, einfacher zu machen?

Danke

    
dav 23.07.2014, 06:15
quelle

2 Antworten

14

Es gibt eine Reihe von komplizierten Lösungen, aber ich würde diese schön einfache Regex vorschlagen:

%Vor%

Erlaubt alle druckbaren Zeichen in der ASCII-Tabelle .

In PHP:

%Vor%

Erläuterung

  • Der ^ Anker bestätigt, dass wir am Anfang der Zeichenfolge
  • stehen
  • Die Zeichenklasse [ -~] stimmt mit allen Zeichen zwischen dem Leerzeichen und der Tilde überein (alle druckbaren Zeichen in der ASCII-Tabelle)
  • Der + -Quantifikator bedeutet "Übereinstimmung mit einem oder mehreren dieser"
  • Der $ Anker bestätigt, dass wir uns am Ende der Zeichenfolge
  • befinden
zx81 23.07.2014, 06:18
quelle
3

PHP regex kommt mit einer Reihe von Zeichenklassen , auf die Sie sich beziehen können, ascii being einer von ihnen

%Vor%     
FuzzyTree 23.07.2014 06:21
quelle

Tags und Links