RegexRunner Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Base class for source-generated regex extensibility (and the old CompileToAssembly extensibility). It's not intended to be used by anything else.
This API supports the product infrastructure and is not intended to be used directly from your code.
public ref class RegexRunner abstract
public abstract class RegexRunner
type RegexRunner = class
Public MustInherit Class RegexRunner
- Inheritance
-
RegexRunner
Remarks
Provides the driver code that calls the subclass's Scan method for either scanning or direct execution. Also maintains memory allocation for the backtracking stack, the grouping stack and the longjump crawlstack, and provides methods to push new subpattern match results into (or remove backtracked results from) the Match instance.
Constructors
| Name | Description |
|---|---|
| RegexRunner() |
This API supports the product infrastructure and is not intended to be used directly from your code. Initializes a new instance of the RegexRunner class. |
Fields
| Name | Description |
|---|---|
| runcrawl |
This API supports the product infrastructure and is not intended to be used directly from your code. Crawl stack |
| runcrawlpos |
This API supports the product infrastructure and is not intended to be used directly from your code. Crawl stack position |
| runmatch |
This API supports the product infrastructure and is not intended to be used directly from your code. Result object |
| runregex |
This API supports the product infrastructure and is not intended to be used directly from your code. Regex object |
| runstack |
This API supports the product infrastructure and is not intended to be used directly from your code. Utility stack |
| runstackpos |
This API supports the product infrastructure and is not intended to be used directly from your code. Utility stack position |
| runtext |
This API supports the product infrastructure and is not intended to be used directly from your code. Text to search. May be null if the input was supplied as a span. |
| runtextbeg |
This API supports the product infrastructure and is not intended to be used directly from your code. Index of the first character to search |
| runtextend |
This API supports the product infrastructure and is not intended to be used directly from your code. Index just past the last character to search |
| runtextpos |
This API supports the product infrastructure and is not intended to be used directly from your code. Current position in text |
| runtextstart |
This API supports the product infrastructure and is not intended to be used directly from your code. Index of the starting character for the search. |
| runtrack |
This API supports the product infrastructure and is not intended to be used directly from your code. Backtracking stack |
| runtrackcount |
This API supports the product infrastructure and is not intended to be used directly from your code. Count of states that may do backtracking |
| runtrackpos |
This API supports the product infrastructure and is not intended to be used directly from your code. Backtracking stack position |
Methods
| Name | Description |
|---|---|
| Capture(Int32, Int32, Int32) |
This API supports the product infrastructure and is not intended to be used directly from your code. Called by Go() to capture a subexpression. Note that the capnum used here has already been mapped to a non-sparse index (by the code generator RegexWriter). |
| CharInClass(Char, String) |
This API supports the product infrastructure and is not intended to be used directly from your code. Determines whether the specified character matches the given character class string. |
| CharInSet(Char, String, String) |
This API supports the product infrastructure and is not intended to be used directly from your code.
Obsolete.
Determines whether the specified character is in the given character set and category. |
| CheckTimeout() |
This API supports the product infrastructure and is not intended to be used directly from your code. Checks whether the operation has timed out, and throws RegexMatchTimeoutException if it has. |
| Crawl(Int32) |
This API supports the product infrastructure and is not intended to be used directly from your code. Save a number on the longjump unrolling stack |
| Crawlpos() |
This API supports the product infrastructure and is not intended to be used directly from your code. Get the height of the stack |
| DoubleCrawl() |
This API supports the product infrastructure and is not intended to be used directly from your code. Increases the size of the longjump unrolling stack. |
| DoubleStack() |
This API supports the product infrastructure and is not intended to be used directly from your code. Called by the implementation of Go() to increase the size of the grouping stack. |
| DoubleTrack() |
This API supports the product infrastructure and is not intended to be used directly from your code. Called by the implementation of Go() to increase the size of the backtracking stack. |
| EnsureStorage() |
This API supports the product infrastructure and is not intended to be used directly from your code. Called by the implementation of Go() to increase the size of storage |
| Equals(Object) |
Determines whether the specified object is equal to the current object. (Inherited from Object) |
| FindFirstChar() |
This API supports the product infrastructure and is not intended to be used directly from your code. The responsibility of FindFirstChar() is to advance runtextpos until it is at the next position which is a candidate for the beginning of a successful match. |
| GetHashCode() |
Serves as the default hash function. (Inherited from Object) |
| GetType() |
Gets the Type of the current instance. (Inherited from Object) |
| Go() |
This API supports the product infrastructure and is not intended to be used directly from your code. The responsibility of Go() is to run the regular expression at runtextpos and call Capture() on all the captured subexpressions, then to leave runtextpos at the ending position. It should leave runtextpos where it started if there was no match. |
| InitTrackCount() |
This API supports the product infrastructure and is not intended to be used directly from your code. InitTrackCount must initialize the runtrackcount field; this is used to know how large the initial runtrack and runstack arrays must be. |
| IsBoundary(Int32, Int32, Int32) |
This API supports the product infrastructure and is not intended to be used directly from your code. Called by the implementation of Go() to decide whether the pos at the specified index is a boundary or not. It's just not worth emitting inline code for this logic. |
| IsECMABoundary(Int32, Int32, Int32) |
This API supports the product infrastructure and is not intended to be used directly from your code. Determines whether the position at the specified index is an ECMA-compatible word boundary. |
| IsMatched(Int32) |
This API supports the product infrastructure and is not intended to be used directly from your code. Call out to runmatch to get around visibility issues |
| MatchIndex(Int32) |
This API supports the product infrastructure and is not intended to be used directly from your code. Call out to runmatch to get around visibility issues |
| MatchLength(Int32) |
This API supports the product infrastructure and is not intended to be used directly from your code. Call out to runmatch to get around visibility issues |
| MemberwiseClone() |
Creates a shallow copy of the current Object. (Inherited from Object) |
| Popcrawl() |
This API supports the product infrastructure and is not intended to be used directly from your code. Remove a number from the longjump unrolling stack |
| Scan(ReadOnlySpan<Char>) |
Used by a Regex object to scan the input |
| Scan(Regex, String, Int32, Int32, Int32, Int32, Boolean, TimeSpan) |
This API supports the product infrastructure and is not intended to be used directly from your code.
Obsolete.
This method's body is only kept since it is a protected member that could be called by someone outside the assembly. |
| Scan(Regex, String, Int32, Int32, Int32, Int32, Boolean) |
This API supports the product infrastructure and is not intended to be used directly from your code.
Obsolete.
Used by a Regex object to scan the input |
| ToString() |
Returns a string that represents the current object. (Inherited from Object) |
| TransferCapture(Int32, Int32, Int32, Int32) |
This API supports the product infrastructure and is not intended to be used directly from your code. Called by Go() to capture a subexpression. Note that the capnum used here has already been mapped to a non-sparse index (by the code generator RegexWriter). |
| Uncapture() |
This API supports the product infrastructure and is not intended to be used directly from your code. Called by Go() to revert the last capture. |