2016-01-13 21 views
13

Voglio vedere solo un paio di parole in logcat. In altre parole, solo un determinato tag. Ho provato ad abilitare Regex e digitare [Encoder|Decoder] come filtro, ma non funziona.Come filtrare più parole nel log di Android Studio

+3

Provare a utilizzare un gruppo, non una singola classe di caratteri: '(Encoder | Decoder)'. E si prega di indicare cosa e come "non funziona". –

+0

Sì! Questo funziona. Non vuoi renderlo una risposta che potrei contrassegnare come soluzione? ;) – Pitel

risposta

22

è necessario utilizzare un raggruppamento costrutto:

(Encoder|Decoder) 

In realtà, si può semplicemente utilizzare

Encoder|Decoder 

Se si utilizza [Encoder|Decoder], la classe carattere è creato che corrisponde a qualsiasi singolo carattere E, n, c ... |, D ... o r.

Vedi Character Classes or Character Sets:

Con una "classe di caratteri", chiamato anche "set di caratteri", si può dire al motore regex per abbinare solo uno di diversi personaggi. È sufficiente posizionare i caratteri che si desidera abbinare tra parentesi quadre. Se si desidera abbinare un a o uno e, utilizzare [ae].

Un'altra lettura obbligata è certamente Alternation with The Vertical Bar or Pipe Symbol:

Se si vuole cercare il testo letterale o catdog, separare entrambe le opzioni con una barra verticale o un simbolo pipe: cat|dog. Se vuoi più opzioni, semplicemente espandi l'elenco: cat|dog|mouse|fish.

Quando si utilizza (...) dici al motore regex al gruppo sequenze di caratteri/sottopattern (con quelli di cattura, i submatches vengono memorizzati nel buffer di memoria e li si può accedere tramite backreference, e con i non-cattura (?:...) si raggruppano solo i sottopattern):

Inserendo parte di un'espressione regolare tra parentesi tonde o parentesi, è possibile gruppo che parte dell'espressione regolare insieme. Ciò consente di applicare un quantifier all'intero gruppo o di limitare alternation a parte dell'espressione regolare.

+1

Aggiungerò solo .. TAG1 | TAG2 senza spazi. – wsgeorge

+0

@wsgeorge: non capisco cosa intendi. Guarda, ho già scritto * In realtà, puoi usare 'Encoder | Decoder' * - non è lo stesso? Inoltre, se hai veramente un 'TAG 'letterale seguito da un numero qualsiasi, non è necessaria alcuna alternanza, usa' TAG \ d + ':) –

+0

Ho l'abitudine di aggiungere spazi tra operatori, quindi ho letteralmente usato" TAG1 | TAG2 "in AS e ho trovato che non ha funzionato. Ho solo pensato che gli altri dovrebbero sapere per evitare questo piccolo trucchetto. – wsgeorge

Problemi correlati