Stimmt in Emacs-Regex \n
nicht mit einem neuen Zeilenzeichen überein \n
.
- Bin ich richtig, dass
$
die Position zwischen einem neuen Zeilenzeichen und dem Zeichen direkt vor dem neuen Zeilenzeichen übereinstimmt. zB für eine Zeichenketteabc\n
,$
stimmt die Position zwischenc
und\n
? - Was ist die Regex, die passt
\n
?
(re-search-forward "\n")
funktioniert gut für mich.abc\r\n
stattabc\n
.\n
aufn
. Mein Puffer befindet sich im Fundamental-Modus. Dies geschieht bei jedem Text, sodass jeder Text mit einer neuen Zeile odern
einem neuen Buchstaben ein Arbeitsbeispiel ist\r\n
aufrn
Antworten:
$
stimmt mit dem Ende der Zeile , nicht die Newline - Zeichen , die nach dem Ende der Leitung kommt.C-M-s C-q C-j
.C-q
ist die Standardbindung fürquoted-insert
und funktioniert auch im Minibuffer. Dieser Ausdruck wörtlich sucht nach einem Newline:C-j
.quelle
(looking-at "^J")
wo ^ J durch eingeführt wirdC-q C-j
), derC-q C-j
arbeitet Ansatz immer. Aber wenn Sie elisp-Funktionen wie diese verwenden,looking-at
\n
funktioniert das auch.M-: (looking-at "\n") RET
wird zu true ausgewertet, wenn sich der Cursor am Ende der Zeile befindet (und danach eine neue Zeile).regexp-builder
Sie bei Verwendung eine neue Zeile mit erkennen können[\n]
.[\n]
aufn
.Als Dan sagt, dass der Regex eine neue Zeile entspricht ist ein Newline.
Sie können einen Zeilenumbruch in einer Zeichenfolge in Anführungszeichen setzen
"\n"
. Hierfür gibt es keine spezielle zusätzliche regexp-spezifische Syntax - Sie verwenden einfach eine neue Zeile, genau wie bei jedem anderen Literalzeichen.Wenn Sie interaktiv einen regulären Ausdruck eingeben , können Sie die neue Zeile mit einfügen C-qC-j, wie die Antwort von kaushalmodi zeigt.
quelle
\n
stimmt nicht mit einem neuen Zeilenzeichen überein.C-q C-j
ist der zuverlässigste Weg , eine neue Zeile an einer Eingabeaufforderung eingeben.