Az Emacs regexben a \n
nem felel meg egy új sor karakterének \n
.
- Helyesen állítom, hogy a
$
megegyezik az új vonalkarakter és az új sor karaktere előtt álló karakter pozíciójával. pl. egy sztringhezabc\n
a$
megegyezik ac
és a ? - Mi az a regex, amely megfelel a
\n
kifejezésnek?
Megjegyzések
Válasz
- Igen. A
$
a sor végére illeszkedik, nem pedig a sor vége után érkező új sor karakter re. - Csináljon
C-M-s C-q C-j
. AC-q
az alapértelmezett kötés aquoted-insert
fájlhoz, és a minibufferben is működik. Ez a kifejezés szó szerint keres egy új sort:C-j
.
Megjegyzések
- 2. azt mondja, hogy az új vonalkarakter nem ábrázolható menekülési szekvenciaként az Emacs regexben?
- Akár interaktívan, akár elisp-en keresztül keresünk új sort (pl.
(looking-at "^J")
ahol A ^ J szöveget aC-q C-j
) szúrja be, aC-q C-j
megközelítés mindig működik. De az olyan elisp függvények használatakor, mint ugyanaz, alooking-at
\n
is működik; AM-: (looking-at "\n") RET
igaz lesz, ha a kurzor a sor végén van (és utána ' sa új sor). - Csak megemlítve, ha a
regexp-builder
alkalmazást használja, akkor ' új sor felismerhető a . - @Nsukami_: A CM-ek és az Mx egyaránt
[\n]
ésn
.
Válasz
Ahogy Dan megjegyzi, az új vonallal egyező regex egy új sor .
Az idézett karakterláncban új sort írhat elisp formában "\n"
néven. Ehhez nincs külön speciális regexp-specifikus szintaxis – csak egy új sort kell használnia, pontosan úgy, mint bármely más szó szerinti karaktert.
Ha egy regexpet interaktívan ad meg akkor beillesztheti az új sort a Cq Cj paranccsal, amint arra a kaushalmodi válasza rámutat.
Megjegyzések
- Köszönöm! Az emacs-ban (nem az elisp-ben) a Cq Cj az egyetlen módja annak, hogy egy új vonalkarakterhez illeszkedjen?
\n
doesn ' nem illeszkedik egy új vonalkarakterhez. - Igen. Nos, pontosabban: újsor beírása az egyetlen módja annak, hogy egy újsoros karaktert illesszen be regexp interaktív módon (mivel egy újsorhoz nincs regexp escape szekvencia), és a
C-q C-j
a legmegbízhatóbb módszer az új sor gyors beírásához.
(re-search-forward "\n")
nekem jól működik.abc\r\n
aabc\n
helyett.\n
hogyn
. a pufferem Fundamentális módban van. Ez bármilyen szöveggel megtörténik, így minden új sorral vagy betűvel ellátottn
szöveg működőképes példa\r\n
–rn