Regular Expressions Simulazione del lookbehind a lunghezza variabile con \ K


Esempio

Alcuni sapori regex (Perl, PCRE, Oniguruma, Boost) supportano solo lookbehind a lunghezza fissa, ma offrono la funzione \K , che può essere utilizzata per simulare il lookbehind a lunghezza variabile all'inizio di un pattern. Quando incontri un \K , il testo abbinato fino a questo punto viene scartato e solo il testo che corrisponde alla parte del modello che segue \K viene mantenuto nel risultato finale.

ab+\Kc

È equivalente a:

(?<=ab+)c

In generale, un modello della forma:

(subpattern A)\K(subpattern B)

Finisce per essere simile a:

(?<=subpattern A)(subpattern B)

Tranne quando il subpattern di B può eguagliare lo stesso testo del subpattern A - potresti ottenere risultati leggermente diversi, perché il subpattern A continua a consumare il testo, a differenza di un vero lookbehind.