Posso usare gnu grep per cercare parens senza corrispondenza (e simili)?


0

Scrivo file di testo nel linguaggio di markup MoinMoin Wiki in un editor di testo (emacs). Quando inserisco erroneamente uno dei tag speciali, la mia intera pagina viene modificata con una formattazione errata o peggio. Chiudo sempre un elemento di formattazione sulla stessa riga in cui l'ho aperto.

Posso usare gnu grep trovare tag Wiki non corrispondenti su una riga? Piace:

  • << nomemacro ( params ) >>
  • backtick codice backtick
  • '' doppie virgolette per corsivo '' - probabilmente difficile
  • ''' citazioni triple per grassetto ''' - probabilmente difficile

Normalmente non annido i tag. Quindi non c'è "codice in grassetto" o "grassetto in corsivo".

Risposte:


1

No in generale. grep è uno strumento orientato alla linea e regex è meno potente del gramma libero dal contesto. Se provi scrivi:

grep -v '<<[^>]>>' <file

ti manca in partita:

<<good>>  <<bad>d>

Ma tu già usi Emacs e alcuni assegni già inclusi:

M-x il check-parens RET !

Se leggi http://moinmo.in/HelpOnParsers puoi imparare che scrivere parser per MoinMoin è un compito difficile.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.