RegexRunner Classe

Definizione

Classe base per l'estendibilità regex generata dall'origine e l'estendibilità di CompileToAssembly precedente. Non è progettato per essere usato da nessun altro.

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

public ref class RegexRunner abstract
public abstract class RegexRunner
type RegexRunner = class
Public MustInherit Class RegexRunner
Ereditarietà
RegexRunner

Commenti

Fornisce il codice driver che chiama il metodo Scan della sottoclasse per l'analisi o l'esecuzione diretta. Mantiene anche l'allocazione di memoria per lo stack di backtracking, lo stack di raggruppamento e lo stack di ricerca per indicizzazione longjump e fornisce metodi per eseguire il push di nuovi risultati della corrispondenza secondaria in (o rimuovere i risultati sottoposti a backtracking da) dall'istanza match.

Costruttori

Nome Descrizione
RegexRunner()

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Inizializza una nuova istanza della classe RegexRunner.

Campi

Nome Descrizione
runcrawl

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Stack di ricerca per indicizzazione

runcrawlpos

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Posizione dello stack di ricerca per indicizzazione

runmatch

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Oggetto Result

runregex

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Oggetto Regex

runstack

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Stack di utilità

runstackpos

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Posizione dello stack di utilità

runtext

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Testo da cercare. Può essere Null se l'input è stato fornito come intervallo.

runtextbeg

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Indice del primo carattere da cercare

runtextend

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Indicizzare appena oltre l'ultimo carattere da cercare

runtextpos

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Posizione corrente nel testo

runtextstart

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Indice del carattere iniziale per la ricerca.

runtrack

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Stack backtracking

runtrackcount

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Numero di stati che possono eseguire il backtracking

runtrackpos

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Posizione dello stack backtracking

Metodi

Nome Descrizione
Capture(Int32, Int32, Int32)

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Chiamato da Go() per acquisire una sottoespressione. Si noti che il capnum usato qui è già stato mappato a un indice non sparse (dal generatore di codice RegexWriter).

CharInClass(Char, String)

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Determina se il carattere specificato corrisponde alla stringa della classe di caratteri specificata.

CharInSet(Char, String, String)

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Obsoleti.

Determina se il carattere specificato si trova nel set di caratteri e nella categoria specificati.

CheckTimeout()

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Controlla se l'operazione è scaduta e genera un'eccezione RegexMatchTimeoutException se è presente.

Crawl(Int32)

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Salvare un numero nello stack di annullamento della registrazione lungo

Crawlpos()

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Ottenere l'altezza dello stack

DoubleCrawl()

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Aumenta le dimensioni dello stack di annullamento deljump lungo.

DoubleStack()

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Chiamato dall'implementazione di Go() per aumentare le dimensioni dello stack di raggruppamento.

DoubleTrack()

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Chiamato dall'implementazione di Go() per aumentare le dimensioni dello stack di backtracking.

EnsureStorage()

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Chiamato dall'implementazione di Go() per aumentare le dimensioni di archiviazione

Equals(Object)

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
FindFirstChar()

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

La responsabilità di FindFirstChar() è quella di avanzare runtextpos fino a quando non si trova nella posizione successiva che è un candidato per l'inizio di una corrispondenza con esito positivo.

GetHashCode()

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
Go()

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

La responsabilità di Go() è eseguire l'espressione regolare in runtextpos e chiamare Capture() su tutte le sottoespressioni acquisite, quindi lasciare runtextpos alla posizione finale. Deve lasciare runtextpos dove è stato avviato se non è presente alcuna corrispondenza.

InitTrackCount()

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

InitTrackCount deve inizializzare il campo runtrackcount; viene usato per sapere quanto grandi devono essere le matrici runtrack e runstack iniziali.

IsBoundary(Int32, Int32, Int32)

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Chiamato dall'implementazione di Go() per decidere se il pos in corrispondenza dell'indice specificato è un limite o meno. Non vale la pena di creare codice inline per questa logica.

IsECMABoundary(Int32, Int32, Int32)

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Determina se la posizione in corrispondenza dell'indice specificato è un limite di parole compatibile con ECMA.

IsMatched(Int32)

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Chiamare per eseguire la corrispondenza per risolvere i problemi di visibilità

MatchIndex(Int32)

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Chiamare per eseguire la corrispondenza per risolvere i problemi di visibilità

MatchLength(Int32)

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Chiamare per eseguire la corrispondenza per risolvere i problemi di visibilità

MemberwiseClone()

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
Popcrawl()

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Rimuovere un numero dallo stack di annullamento deljump lungo

Scan(ReadOnlySpan<Char>)

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Utilizzato da un Regex oggetto per analizzare l'input text cercando la corrispondenza successiva.

Scan(Regex, String, Int32, Int32, Int32, Int32, Boolean, TimeSpan)

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Obsoleti.

Il corpo di questo metodo viene mantenuto solo perché è un membro protetto che può essere chiamato da un utente esterno all'assembly.

Scan(Regex, String, Int32, Int32, Int32, Int32, Boolean)

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Obsoleti.

Utilizzato da un Regex oggetto per analizzare l'input text.

ToString()

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
TransferCapture(Int32, Int32, Int32, Int32)

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Chiamato da Go() per acquisire una sottoespressione. Si noti che il capnum usato qui è già stato mappato a un indice non sparse (dal generatore di codice RegexWriter).

Uncapture()

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Chiamato da Go() per ripristinare l'ultima acquisizione.

Si applica a