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
risposta
è 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 unoe
, utilizzare[ae]
.
Un'altra lettura obbligata è certamente Alternation with The Vertical Bar or Pipe Symbol:
Se si vuole cercare il testo letterale o
cat
dog
, 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.
Aggiungerò solo .. TAG1 | TAG2 senza spazi. – wsgeorge
@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 + ':) –
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
Provare a utilizzare un gruppo, non una singola classe di caratteri: '(Encoder | Decoder)'. E si prega di indicare cosa e come "non funziona". –
Sì! Questo funziona. Non vuoi renderlo una risposta che potrei contrassegnare come soluzione? ;) – Pitel