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\na$megegyezik acés a ? - Mi az a regex, amely megfelel a
\nkifejezé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-qaz alapértelmezett kötés aquoted-insertfá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-jmegközelítés mindig működik. De az olyan elisp függvények használatakor, mint ugyanaz, alooking-at\nis működik; AM-: (looking-at "\n") RETigaz lesz, ha a kurzor a sor végén van (és utána ' sa új sor). - Csak megemlítve, ha a
regexp-builderalkalmazá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?
\ndoesn ' 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-ja 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\naabc\nhelyett.\nhogyn. a pufferem Fundamentális módban van. Ez bármilyen szöveggel megtörténik, így minden új sorral vagy betűvel ellátottnszöveg működőképes példa\r\n–rn