Ich habe in rx
letzter Zeit herumgespielt und gerade bemerkt, dass es (mindestens) 3 verschiedene Möglichkeiten gibt, Leerzeichen in regulären Ausdrücken anzuzeigen.
[:blank:]
[:space:]
\s-
Was sind die Unterschiede zwischen jedem von ihnen? Kommt es auf den Major-Modus an?
regular-expressions
syntax
Malabarba
quelle
quelle
[:space:]
und\s-
sind die gleichen.)C-h i
, Elisp Handbuch ,C-s [:space]
.;)
Antworten:
Die
[:blank:]
Zeichenklasse stimmt nur mit den SPC- und TAB-Zeichen überein. Die anderen beiden stimmen mit Leerzeichen überein, die auf der aktiven Syntaxtabelle basieren.Es scheint keinen Unterschied zwischen
[:space:]
und zu geben\s-
. Letzteres ist eine Instanz der allgemeinen s \ Codemuster auf einer Syntax Klasse basiertes Matching.quelle
regexp-builder
Ich kann bestätigen, dass beide[:space:]
und\s-
die zusätzlichen Zeichen als Leerzeichen übereinstimmen.