Class RegExp
Regular Expression extension to Automaton.
Regular expressions are built from the following abstract syntax:
regexp::=unionexp | |
| | |
unionexp::=interexp | unionexp(union) | |
|interexp | |
interexp::=concatexp & interexp(intersection)[OPTIONAL] | |
|concatexp | |
concatexp::=repeatexp concatexp(concatenation) | |
|repeatexp | |
repeatexp::=repeatexp ?(zero or one occurrence) | |
|repeatexp *(zero or more occurrences) | |
|repeatexp +(one or more occurrences) | |
|repeatexp {n}(n occurrences) | |
|repeatexp {n,}(n or more occurrences) | |
|repeatexp {n,m}(n to m occurrences, including both) | |
|complexp | |
complexp::=~ complexp(complement)[OPTIONAL] | |
|charclassexp | |
charclassexp::=[ charclasses ](character class) | |
|[^ charclasses ](negated character class) | |
|simpleexp | |
charclasses::=charclass charclasses | |
|charclass | |
charclass::=charexp - charexp(character range, including end-points) | |
|charexp | |
simpleexp::=charexp | |
|.(any single character) | |
|#(the empty language)[OPTIONAL] | |
|@(any string)[OPTIONAL] | |
|" <Unicode string without double-quotes> "(a string) | |
|( )(the empty string) | |
|( unionexp )(precedence override) | |
|< <identifier> >(named automaton)[OPTIONAL] | |
|<n-m>(numerical interval)[OPTIONAL] | |
charexp::=<Unicode character>(a single non-reserved character) | |
|</strong> <Unicode character> (a single character) |
The productions marked [OPTIONAL] are only allowed if
specified by the syntax flags passed to the RegExp constructor.
The reserved characters used in the (enabled) syntax must be escaped with
backslash (
@lucene.experimental</code>) or double-quotes (
"..."
). (In
contrast to other regexp syntaxes, this is required also in character
classes.) Be aware that dash (-
) has a special meaning in
charclass expressions. An identifier is a string not containing right
angle bracket (>
) or dash (-
). Numerical
intervals are specified by non-negative decimal integers and include both end
points, and if n
and m
have the same number
of digits, then the conforming strings must have that length (i.e. prefixed
by 0's).
Inheritance
Assembly: DistributedLucene.Net.dll
Syntax
public class RegExp : object
Constructors
Name | Description |
---|---|
RegExp(String) | Constructs new RegExp from a string. Same as
|
RegExp(String, RegExpSyntax) | Constructs new RegExp from a string. |
Methods
Name | Description |
---|---|
GetIdentifiers() | Returns set of automaton identifiers that occur in this regular expression. |
SetAllowMutate(Boolean) | Sets or resets allow mutate flag. If this flag is set, then automata construction uses mutable automata, which is slightly faster but not thread safe. By default, the flag is not set. |
ToAutomaton() | Constructs new Automaton from this RegExp. Same
as |
ToAutomaton(IDictionary<String, Automaton>) | Constructs new Automaton from this RegExp. The constructed automaton is minimal and deterministic and has no transitions to dead states. |
ToAutomaton(IAutomatonProvider) | Constructs new Automaton from this RegExp. The constructed automaton is minimal and deterministic and has no transitions to dead states. |
ToString() | Constructs string from parsed regular expression. |