Ich verwende den folgenden regulären Ausdruck
^[a-zA-Z0-9\',!;\?\$\^:\\\/`\|~&\" @#%\*\{}\(\)_\+\.\s=-]{1,1000}$
Ich weiß, dass es hässlich ist, aber bis jetzt erfüllt es seinen Zweck, abgesehen davon, dass der Backslash nicht erlaubt ist, wie ich denke, weil es entkommen ist. Ich habe es auch versucht, \\
anstatt \\\
nur die gleichen Ergebnisse zu erzielen. Irgendwelche Ideen?
Antworten:
Wenn Sie dies in eine Zeichenfolge innerhalb eines Programms einfügen, müssen Sie möglicherweise tatsächlich vier umgekehrte Schrägstriche verwenden (da der Zeichenfolgenparser zwei davon entfernt, wenn er für die Zeichenfolge "entfernt" wird , und der reguläre Ausdruck zwei für eine Zeichenfolge benötigt entkommen Regex Backslash).
Zum Beispiel:
wird interpretiert als ...
wird interpretiert als ...
wird als regulärer Ausdruck interpretiert, der einem einzelnen Backslash entspricht.
Abhängig von der Sprache können Sie möglicherweise eine andere Form des Zitierens verwenden, bei der Escape-Sequenzen nicht analysiert werden, um zu vermeiden, dass so viele verwendet werden müssen - beispielsweise in Python:
Das
r
vor den Anführungszeichen stehende Zeichenfolge macht es zu einer rohen Zeichenfolge, die keine Backslash-Escapezeichen analysiert.quelle
new RegExp('\\\\\\d');
.Wenn es kein Literal ist, müssen Sie es verwenden,
\\\\
damit Sie erhalten,\\
was einen entkommenen Backslash bedeutet.Das liegt daran, dass es zwei Darstellungen gibt. In der Zeichenfolgendarstellung Ihres regulären Ausdrucks haben Sie Folgendes:
"\\\\"
Was wird an den Parser gesendet? Der Parser sieht,\\
was er als gültigen Escape-Backslash interpretiert (der einem einzelnen Backslash entspricht).quelle
Der Backslash
\
ist das Escape-Zeichen für reguläre Ausdrücke. Daher würde ein doppelter Backslash tatsächlich einen einzelnen, wörtlichen Backslash bedeuten.\ (backslash) followed by any of [\^$.|?*+(){} escapes the special character to suppress its special meaning.
Ref: http://www.regular-expressions.info/reference.html
quelle
Von http://www.regular-expressions.info/charclass.html :
In welcher Sprache schreiben Sie den regulären Ausdruck?
quelle
Diese Lösung hat mein Problem behoben, während das br-Tag durch '\ n' ersetzt wurde.
quelle