Emacs-regexissä \n ei vastaa uutta rivimerkkiä \n.
- Korjaanko, että
$vastaa uuden rivimerkin ja uuden rivimerkin välisen merkin sijaintia. esim. merkkijonolleabc\n,$vastaa sijaintiacja\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-qon oletus sidonta kohteellequoted-insertja 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-jtoimii aina. Mutta kun käytetään elisp-toimintoja, kuten samatlooking-at\ntoimivat myös;M-: (looking-at "\n") RETnousee 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ä)?
\ndoesnt ' 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-jon luotettavin tapa kirjoittaa uusi rivi kehotteessa.
(re-search-forward "\n")toimii minulle hyvin.abc\r\nsijastaabc\n.\nkohtaann. 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