RegexRunner Klass

Definition

Basklass för källgenererad regex-utökningsbarhet (och den gamla utökningsbarheten CompileToAssembly). Det är inte avsett att användas av något annat.

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

public ref class RegexRunner abstract
public abstract class RegexRunner
type RegexRunner = class
Public MustInherit Class RegexRunner
Arv
RegexRunner

Kommentarer

Innehåller drivrutinskoden som anropar underklassens genomsökningsmetod för antingen genomsökning eller direktkörning. Underhåller även minnesallokering för backtracking-stacken, grupperingsstacken och longjump crawlstack och tillhandahåller metoder för att push-överföra nya matchningsresultat till (eller ta bort bakåtspårade resultat från) Match-instansen.

Konstruktorer

Name Description
RegexRunner()

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Initierar en ny instans av RegexRunner klassen.

Fält

Name Description
runcrawl

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Crawlningsstacken

runcrawlpos

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Crawlningsstackens position

runmatch

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Resultatobjekt

runregex

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Regex-objekt

runstack

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Verktygsstack

runstackpos

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Verktygsstackens position

runtext

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Text att söka efter. Kan vara null om indata angavs som ett spann.

runtextbeg

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Index för det första tecknet som ska sökas

runtextend

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Index precis förbi det sista tecknet som ska sökas

runtextpos

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Aktuell position i text

runtextstart

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Index för starttecknet för sökningen.

runtrack

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Backtracking stack

runtrackcount

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Antal tillstånd som kan göra backtracking

runtrackpos

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Position för backtracking stack

Metoder

Name Description
Capture(Int32, Int32, Int32)

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Anropas av Go() för att avbilda en underuttryck. Observera att det capnum som används här redan har mappats till ett icke-glest index (av kodgeneratorn RegexWriter).

CharInClass(Char, String)

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Avgör om det angivna tecknet matchar den angivna teckenklasssträngen.

CharInSet(Char, String, String)

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Föråldrad.

Avgör om det angivna tecknet finns i den angivna teckenuppsättningen och kategorin.

CheckTimeout()

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Kontrollerar om åtgärden har överskriden tidsgräns och genererar RegexMatchTimeoutException om den har gjort det.

Crawl(Int32)

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Spara ett tal på den långa avregistreringsstacken

Crawlpos()

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Hämta stackens höjd

DoubleCrawl()

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Ökar storleken på den långa avregistreringsstacken.

DoubleStack()

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Anropas av implementeringen av Go() för att öka storleken på grupperingsstacken.

DoubleTrack()

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Anropas av implementeringen av Go() för att öka storleken på backtracking-stacken.

EnsureStorage()

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Anropas av implementeringen av Go() för att öka lagringsstorleken

Equals(Object)

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
FindFirstChar()

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Ansvaret för FindFirstChar() är att föra fram runtextpos tills det är vid nästa position som är en kandidat för början av en lyckad matchning.

GetHashCode()

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Hämtar den aktuella instansen Type .

(Ärvd från Object)
Go()

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Ansvaret för Go() är att köra det reguljära uttrycket på runtextpos och anropa Capture() på alla insamlade underuttryck och sedan lämna runtextpos vid slutpositionen. Den bör lämna runtextpos där den startade om det inte fanns någon matchning.

InitTrackCount()

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

InitTrackCount måste initiera fältet runtrackcount. Detta används för att veta hur stora de inledande runtrack- och runstack-matriserna måste vara.

IsBoundary(Int32, Int32, Int32)

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Anropas av implementeringen av Go() för att avgöra om posen vid det angivna indexet är en gräns eller inte. Det är bara inte värt att generera infogad kod för den här logiken.

IsECMABoundary(Int32, Int32, Int32)

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Avgör om positionen vid det angivna indexet är en ECMA-kompatibel ordgräns.

IsMatched(Int32)

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Anropa för att köra matchning för att komma runt synlighetsproblem

MatchIndex(Int32)

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Anropa för att köra matchning för att komma runt synlighetsproblem

MatchLength(Int32)

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Anropa för att köra matchning för att komma runt synlighetsproblem

MemberwiseClone()

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
Popcrawl()

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Ta bort ett tal från den långa avregistreringsstacken

Scan(ReadOnlySpan<Char>)

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Används av ett Regex objekt för att genomsöka indata text som letar efter nästa matchning.

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

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Föråldrad.

Den här metodens brödtext behålls bara eftersom den är en skyddad medlem som kan anropas av någon utanför sammansättningen.

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

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Föråldrad.

Används av ett Regex objekt för att skanna indata text.

ToString()

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)
TransferCapture(Int32, Int32, Int32, Int32)

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Anropas av Go() för att avbilda en underuttryck. Observera att det capnum som används här redan har mappats till ett icke-glest index (av kodgeneratorn RegexWriter).

Uncapture()

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Anropas av Go() för att återställa den senaste avbildningen.

Gäller för