RegEx re-implemented as a module
Re-wrote nrex as a module using godot-specific parts and new features: * Added string substitutions. * Named groups are now supported. * Removed use of mutable variables in RegEx. RegExMatch is returned instead.
This commit is contained in:
parent
470ead74db
commit
439d439321
15 changed files with 1733 additions and 1976 deletions
|
|
@ -32514,6 +32514,7 @@
|
|||
would be read as [code]"(?:\\.|[^"])*"[/code]
|
||||
Currently supported features:
|
||||
* Capturing [code]()[/code] and non-capturing [code](?:)[/code] groups
|
||||
* Named capturing groups [code](?P<name>)[/code]
|
||||
* Any character [code].[/code]
|
||||
* Shorthand character classes [code]\w \W \s \S \d \D[/code]
|
||||
* User-defined character classes such as [code][A-Za-z][/code]
|
||||
|
|
@ -32522,7 +32523,7 @@
|
|||
* Lazy (non-greedy) quantifiers [code]*?[/code]
|
||||
* Beginning [code]^[/code] and end [code]$[/code] anchors
|
||||
* Alternation [code]|[/code]
|
||||
* Backreferences [code]\1[/code] and [code]\g{1}[/code]
|
||||
* Backreferences [code]\1[/code], [code]\g{1}[/code], and [code]\g<name>[/code]
|
||||
* POSIX character classes [code][[:alnum:]][/code]
|
||||
* Lookahead [code](?=)[/code], [code](?!)[/code] and lookbehind [code](?<=)[/code], [code](?<!)[/code]
|
||||
* ASCII [code]\xFF[/code] and Unicode [code]\uFFFF[/code] code points (in a style similar to Python)
|
||||
|
|
@ -32531,7 +32532,7 @@
|
|||
<methods>
|
||||
<method name="clear">
|
||||
<description>
|
||||
This method resets the state of the object, as it was freshly created. Namely, it unassigns the regular expression of this object, and forgets all captures made by the last [method find].
|
||||
This method resets the state of the object, as it was freshly created. Namely, it unassigns the regular expression of this object.
|
||||
</description>
|
||||
</method>
|
||||
<method name="compile">
|
||||
|
|
@ -32539,15 +32540,41 @@
|
|||
</return>
|
||||
<argument index="0" name="pattern" type="String">
|
||||
</argument>
|
||||
<argument index="1" name="capture" type="int" default="9">
|
||||
</argument>
|
||||
<description>
|
||||
Compiles and assign the regular expression pattern to use. The limit on the number of capturing groups can be specified or made unlimited if negative.
|
||||
Compiles and assign the regular expression pattern to use.
|
||||
</description>
|
||||
</method>
|
||||
<method name="find" qualifiers="const">
|
||||
<method name="get_group_count" qualifiers="const">
|
||||
<return type="int">
|
||||
</return>
|
||||
<description>
|
||||
Returns the number of numeric capturing groups.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_names" qualifiers="const">
|
||||
<return type="Array">
|
||||
</return>
|
||||
<description>
|
||||
Returns an array of names of named capturing groups.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_pattern" qualifiers="const">
|
||||
<return type="String">
|
||||
</return>
|
||||
<description>
|
||||
Returns the expression used to compile the code.
|
||||
</description>
|
||||
</method>
|
||||
<method name="is_valid" qualifiers="const">
|
||||
<return type="bool">
|
||||
</return>
|
||||
<description>
|
||||
Returns whether this object has a valid regular expression assigned.
|
||||
</description>
|
||||
</method>
|
||||
<method name="search" qualifiers="const">
|
||||
<return type="Object">
|
||||
</return>
|
||||
<argument index="0" name="text" type="String">
|
||||
</argument>
|
||||
<argument index="1" name="start" type="int" default="0">
|
||||
|
|
@ -32555,45 +32582,96 @@
|
|||
<argument index="2" name="end" type="int" default="-1">
|
||||
</argument>
|
||||
<description>
|
||||
This method tries to find the pattern within the string, and returns the position where it was found. It also stores any capturing group (see [method get_capture]) for further retrieval.
|
||||
Searches the text for the compiled pattern. Returns a [RegExMatch] container of the first matching reult if found, otherwise null. The starting point of the serch could be specified without moving the string start anchor.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_capture" qualifiers="const">
|
||||
<method name="sub" qualifiers="const">
|
||||
<return type="String">
|
||||
</return>
|
||||
<argument index="0" name="capture" type="int">
|
||||
<argument index="0" name="text" type="String">
|
||||
</argument>
|
||||
<argument index="1" name="template" type="String">
|
||||
</argument>
|
||||
<argument index="2" name="start" type="int" default="0">
|
||||
</argument>
|
||||
<argument index="3" name="end" type="int" default="-1">
|
||||
</argument>
|
||||
<description>
|
||||
Returns a captured group. A captured group is the part of a string that matches a part of the pattern delimited by parentheses (unless they are non-capturing parentheses [i](?:)[/i]).
|
||||
Searches the specified text for the compiled pattern and returns the text with the result replaced. Escapes and backreferences such as [code]\1[/code] and [code]\g<name>[/code] are automatically expanded and resolved. If no change was found the unmodified text is returned instead.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_capture_count" qualifiers="const">
|
||||
</methods>
|
||||
<constants>
|
||||
</constants>
|
||||
</class>
|
||||
<class name="RegExMatch" inherits="Reference" category="Core">
|
||||
<brief_description>
|
||||
</brief_description>
|
||||
<description>
|
||||
</description>
|
||||
<methods>
|
||||
<method name="expand" qualifiers="const">
|
||||
<return type="String">
|
||||
</return>
|
||||
<argument index="0" name="template" type="String">
|
||||
</argument>
|
||||
<description>
|
||||
Using results from the search, returns the specified string with escapes and backreferences such as [code]\1[/code] and [code]\g<name>[/code] expanded and resolved
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_end" qualifiers="const">
|
||||
<return type="int">
|
||||
</return>
|
||||
<argument index="0" name="name" type="Variant" default="0">
|
||||
</argument>
|
||||
<description>
|
||||
Returns the end position of the match in the string. An interger can be specified for numeric groups or a string for named groups. Returns -1 if that group wasn't found or doesn't exist. Defaults to 0 (whole pattern).
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_group_array" qualifiers="const">
|
||||
<return type="Array">
|
||||
</return>
|
||||
<description>
|
||||
Returns an array of the results of the numeric groups.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_group_count" qualifiers="const">
|
||||
<return type="int">
|
||||
</return>
|
||||
<description>
|
||||
Returns the number of capturing groups. A captured group is the part of a string that matches a part of the pattern delimited by parentheses (unless they are non-capturing parentheses [i](?:)[/i]).
|
||||
Returns the number of numeric capturing groups.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_capture_start" qualifiers="const">
|
||||
<method name="get_name_dict" qualifiers="const">
|
||||
<return type="Dictionary">
|
||||
</return>
|
||||
<description>
|
||||
Returns a dictionary containing the named capturing groups and their results.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_names" qualifiers="const">
|
||||
<return type="Array">
|
||||
</return>
|
||||
<description>
|
||||
Returns an array of names of named capturing groups.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_start" qualifiers="const">
|
||||
<return type="int">
|
||||
</return>
|
||||
<argument index="0" name="capture" type="int">
|
||||
<argument index="0" name="name" type="Variant" default="0">
|
||||
</argument>
|
||||
<description>
|
||||
Returns the starting position of the match in the string. An interger can be specified for numeric groups or a string for named groups. Returns -1 if that group wasn't found or doesn't exist. Defaults to 0 (whole pattern).
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_captures" qualifiers="const">
|
||||
<return type="StringArray">
|
||||
<method name="get_string" qualifiers="const">
|
||||
<return type="String">
|
||||
</return>
|
||||
<argument index="0" name="name" type="Variant" default="0">
|
||||
</argument>
|
||||
<description>
|
||||
Return a list of all the captures made by the regular expression.
|
||||
</description>
|
||||
</method>
|
||||
<method name="is_valid" qualifiers="const">
|
||||
<return type="bool">
|
||||
</return>
|
||||
<description>
|
||||
Returns whether this object has a valid regular expression assigned.
|
||||
Returns the result of the match in the string. An interger can be specified for numeric groups or a string for named groups. Returns -1 if that group wasn't found or doesn't exist. Defaults to 0 (whole pattern).
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue