Regex per abbinare alcune linee, tranne quando hanno certe parole (limitato vocabolario regex disponibili)

StackOverflow https://stackoverflow.com/questions/6819041

  •  26-10-2019
  •  | 
  •  

Domanda

Sto usando un'applicazione log tailing (BareTailPro) che mette in evidenza le righe che corrispondono le espressioni regolari. Al momento ho il set di filtri ad appena error (ignora caso su) che restituisce, ad esempio:

25/07/2011 00:09:43.384 [Error] Timeout elapsed
25/07/2011 01:44:04.541 [Error] Receiver TopicName message count changed
25/07/2011 06:07:23.648 [Error] Error processing files
25/07/2011 09:40:04.591 [Error] Receiver TopicName message count changed
25/07/2011 16:42:12.163 [Error] Error Getting Matches & Rejects

Non voglio vedere le righe con Receiver TopicName.*.

E 'possibile impostare una regex per fare questo? L'applicazione sembra avere un vocabolario un'espressione estremamente limitato: riferimento

È stato utile?

Soluzione

Data la risposta di Dogbert che dice che non c'è negativo lookahead suggerisco questo:

Se si sa che cosa tutte le possibili cose che vengono dopo l'errore sono, ad esempio Timeout, Error, Error Getting Matches, ecc ... si potrebbe aggiungere tutto questo al tuo regexp. Così, invece di errore di corrispondenza, si potrebbe abbinare error (Timeout|Error|Error Getting Matches) e così via.

Non è una soluzione perfetta (e si corre il rischio di perdere un po '), ma potrebbe funzionare.

Altri suggerimenti

Non è possibile in quanto non c'è alcun supporto sguardo dichiarazione avanti accennato in quella pagina.

Si può provare a negativo lookahead se BareTailPro lo supporta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top