The EReg class represents regular expressions.
While basic usage and patterns consistently work across platforms, some more complex operations may yield different results. This is a necessary trade- off to retain a certain level of performance.
EReg instances can be created by calling the constructor, or with the
special syntax ~/pattern/modifier
EReg instances maintain an internal state, which is affected by several of its methods.
A detailed explanation of the supported operations is available at https://haxe.org/manual/std-regex.html
Static methods
Constructor
Methods
map(s:String, f:EReg ‑> String):String
Calls the function f
for the substring of s
which this
EReg matches
and replaces that substring with the result of f
call.
The f
function takes this
EReg object as its first argument and should
return a replacement string for the substring matched.
If this
EReg does not match any substring, the result is s
.
By default, this method replaces only the first matched substring. If the global g modifier is in place, all matched substrings are replaced.
If s
or f
are null, the result is unspecified.
match(s:String):Bool
Tells if this
regular expression matches String s
.
This method modifies the internal state.
If s
is null
, the result is unspecified.
matchSub(s:String, pos:Int, len:Int = -1):Bool
Tells if this
regular expression matches a substring of String s
.
This function expects pos
and len
to describe a valid substring of
s
, or else the result is unspecified. To get more robust behavior,
this.match(s.substr(pos,len))
can be used instead.
This method modifies the internal state.
If s
is null, the result is unspecified.
matched(n:Int):String
Returns the matched sub-group n
of this
EReg.
This method should only be called after this.match
or
this.matchSub
, and then operates on the String of that operation.
The index n
corresponds to the n-th set of parentheses in the pattern
of this
EReg. If no such sub-group exists, the result is unspecified.
If n
equals 0, the whole matched substring is returned.
matchedLeft():String
Returns the part to the left of the last matched substring.
If the most recent call to this.match
or this.matchSub
did not
match anything, the result is unspecified.
If the global g modifier was in place for the matching, only the substring to the left of the leftmost match is returned.
The result does not include the matched part.
matchedPos():{pos:Int, len:Int}
Returns the position and length of the last matched substring, within
the String which was last used as argument to this.match
or
this.matchSub
.
If the most recent call to this.match
or this.matchSub
did not
match anything, the result is unspecified.
If the global g modifier was in place for the matching, the position and length of the leftmost substring is returned.
matchedRight():String
Returns the part to the right of the last matched substring.
If the most recent call to this.match
or this.matchSub
did not
match anything, the result is unspecified.
If the global g modifier was in place for the matching, only the substring to the right of the leftmost match is returned.
The result does not include the matched part.
replace(s:String, by:String):String
Replaces the first substring of s
which this
EReg matches with by
.
If this
EReg does not match any substring, the result is s
.
By default, this method replaces only the first matched substring. If the global g modifier is in place, all matched substrings are replaced.
If by
contains $1
to $9
, the digit corresponds to number of a
matched sub-group and its value is used instead. If no such sub-group
exists, the replacement is unspecified. The string $$
becomes $
.
If s
or by
are null, the result is unspecified.
split(s:String):Array<String>
Splits String s
at all substrings this
EReg matches.
If a match is found at the start of s
, the result contains a leading
empty String "" entry.
If a match is found at the end of s
, the result contains a trailing
empty String "" entry.
If two matching substrings appear next to each other, the result
contains the empty String ""
between them.
By default, this method splits s
into two parts at the first matched
substring. If the global g modifier is in place, s
is split at each
matched substring.
If s
is null, the result is unspecified.