Emacs-regexissä \n
ei vastaa uutta rivimerkkiä \n
.
- Korjaanko, että
$
vastaa uuden rivimerkin ja uuden rivimerkin välisen merkin sijaintia. esim. merkkijonolleabc\n
,$
vastaa sijaintiac
ja\n
? - Mikä on regex, joka vastaa
\n
?
Kommentit
Vastaa
- Kyllä.
$
vastaa rivin loppua , ei rivin lopun jälkeen tulevaa uuden rivin merkkiä . - Tee
C-M-s C-q C-j
.C-q
on oletus sidonta kohteellequoted-insert
ja toimii myös pienellä puskurilla. Tämä lauseke etsii kirjaimellisesti uutta riviä:C-j
.
Kommentit
- 2. sanotko, että uutta rivimerkkiä ei voi edustaa pakosarjana Emacsin regexissä?
- Etsitköpä uutta riviä vuorovaikutteisesti vai elispin kautta (esim.
(looking-at "^J")
missä ^ J lisätäänC-q C-j
), lähestymistapaC-q C-j
toimii aina. Mutta kun käytetään elisp-toimintoja, kuten samatlooking-at
\n
toimivat myös;M-: (looking-at "\n") RET
nousee todeksi, jos kohdistin on rivin lopussa (ja siellä ' sa uusi rivi sen jälkeen). - Mainitsen vain, että jos käytät
regexp-builder
, ' pystyt tunnistamaan uuden rivin, jolla on[\n]
. - @Nsukami_: CM: t ja Mx esiintyvät molemmat otteluissa
[\n]
jan
.
vastaus
Kuten Dan kommentoi, uudelle riville sopiva regex on uusi rivi .
Voit edustaa uutta riviä lainatussa merkkijonossa elisp muodossa "\n"
. Tähän ei ole erityistä regexp-specific -syntaksia – käytät vain uutta riviä, aivan kuten mitä tahansa muuta kirjaimellista merkkiä.
Jos syötät regexp vuorovaikutteisesti sitten voit lisätä uuden rivin Cq Cj -merkillä, kuten kaushalmodin vastaus osoittaa.
Kommentit
- Kiitos! Onko Cq Cj ainoa tapa yhdistää uusi rivimerkki emacsissa (ei elispissä)?
\n
doesnt ' ei vastaa uutta rivimerkkiä. - Kyllä. Tarkemmin sanottuna uuden rivin kirjoittaminen on ainoa tapa sovittaa uuden rivin merkki, kun syötät regexp vuorovaikutteisesti (koska uudelle riville ei ole regexp-pakosarjaa), ja
C-q C-j
on luotettavin tapa kirjoittaa uusi rivi kehotteessa.
(re-search-forward "\n")
toimii minulle hyvin.abc\r\n
sijastaabc\n
.\n
kohtaann
. puskurini on perustilassa. Tämä tapahtuu mille tahansa tekstille, joten mikä tahansa teksti, jolla on uusi rivi tai kirjainn
, on toimiva esimerkki\r\n
–rn