Grammatica espressione regolare

L'Editor configurazione adattatore Hyades consente di utilizzare le espressioni regolari per indicare quanti file di log devono essere trasformati in record di Common Base Event. Le seguenti tabelle rappresentano alcune istruzioni per l'utilizzo delle espressioni regolari.

Regole generali

Corrispondenza delle espressioni regolari

Espressione Corrispondenze
{n,m} almeno n ma non più di m volte
{n,} almeno n volte
{n} esattamente n volte
* 0 o più volte
+ 1 o più volte
? 0 o 1 volta
. qualsiasi valore eccetto \n in un'espressione regolare tra parentesi
^ un token null corrispondente all'inizio di una stringa o riga (ad es. la posizione subito dopo una nuova riga o subito prima dell'inizio di una stringa) in un'espressione regolare tra parentesi
$ un token null corrispondente alla fine di una stringa o riga (cioè, la posizione subito prima di una nuova riga o subito dopo la fine di una stringa) in un'espressione regolare tra parentesi
\b backspace in una classe di caratteri ([abcd])
\b token null corrispondente a un limite di parola (\w da un lato e \W dall'altro)
\B token null corrispondente a un limite che non sia un limite di parola
\A solo all'inizio di una stringa
\Z solo alla fine di una stringa (o prima della nuova riga alla fine)
\ nuova riga
\r ritorno a capo
\t scheda
\f alimentazione modulo continuo
\d cifra [0-9]
\D non cifra [^0-9]
\w carattere parola [0-9a-z_A-Z]
\W carattere non parola [^0-9a-z_A-Z]
\s un carattere spazio [ \t\n\r\f]
\S un carattere non spazio [^ \t\n\r\f]
\xnn la rappresentazione esadecimale del carattere nn
\cD il carattere di controllo corrispondente
\nn o \nnn la rappresentazione ottale del carattere nn a meno che non sia un riferimento all'indietro.
\1, \2, \3 ... il primo, secondo, terzo gruppo tra parentesi corrispondente e così via. Questo è un riferimento all'indietro. In assenza di un gruppo corrispondente, il numero viene interpretato come una rappresentazione ottale di un carattere.
\0 il carattere null. Qualsiasi altro carattere con barra retroversa corrisponde a se stesso.
*? 0 o più volte
+? 1 o più volte
?? 0 o 1 volta
{n}? esattamente n volte
{n,}? almeno n volte
{n,m}? almeno n ma non più di m volte

Raggruppamento e estrazione di corrispondenze

Per raggruppare le parti di un'espressione, utilizzare i metacaratteri ( ). Ciò consente di considerare l'espressione regolare tra parentesi come una singola unità. Ad esempio, l'espressione regolare

severity:(1|2)
corrisponde al modello severity:1 o severity:2.

Per estrarre le parti di una stringa corrispondenti utilizzando i metacaratteri di raggruppamento, utilizzare le variabili speciali $1, $2 ecc.

# Extract the name and URL from $pattern = <a href="secure_logon.html">Logon form</a>
$pattern =~ <a href=\"(.*)\">(.*)</a> ; # match using grouping
$url = $1;                # $1 equals secure_logon.html
$pagename = $2;           # $2 equals Logon form

Espressioni regolari estese Perl 5

Espressione Corrispondenze
(?#text) Un commento interno che fa ignorare text.
(?:regexp) Raggruppa elementi tipo "()" ma non salva la corrispondenza gruppo.
(?=regexp) Un'asserzione lookahead positiva con larghezza pari a zero. Ad esempio, \w+(?=\s) corrisponde a una parola seguita da uno spazio, senza includere lo spazio nel risultato della corrispondenza
(?!regexp) Un'asserzione lookahead negativa con larghezza pari a zero. Ad esempio foo(?!bar) corrisponde alle ricorrenze di foo che non sono seguite da bar. Si tratta di un'asserzione con larghezza pari a zero, il che vuol dire che a(?!b)d corrisponde a ad perché a è seguita da un carattere che non è b (d) e d segue l'asserzione con larghezza pari a zero.
(?imsx) Uno o più modificatori di corrispondenza modello interni:
i abilita l'insensibilità a maiuscole e minuscole
m
abilita l'utilizzo di più righe dell'input
s
abilita l'utilizzo di singole righe dell'input
x
abilita i commenti con spazi estesi

Argomenti correlati
Panoramica dell'Adattatore di log generico Hyades
Specifica del formato di Common Base Event

Attività correlate
Creazione di un programma di analisi di log
Creazione di un adattatore basato su regole
Creazione di un adattatore statico

Riferimenti correlati
Struttura del file di configurazione dell'adattatore
Specifica del formato di Common Base Event
Editor configurazione adattatore
Grammatica espressione regolare