Added examples to RegEx doc

This commit is contained in:
Zher Huei Lee 2016-07-21 22:01:53 +01:00
parent 2a0dff9ae3
commit 3dd5ffb48a

View file

@ -31099,24 +31099,29 @@
Simple regular expression matcher. Simple regular expression matcher.
</brief_description> </brief_description>
<description> <description>
Class for finding text patterns in a string using regular expressions. Regular expressions are a way to define patterns of text to be searched. Class for finding text patterns in a string using regular expressions. It can not perform replacements. Regular expressions are a way to define patterns of text to be searched. Details on writing patterns are too long to explain here but the Internet is full of tutorials and detailed explanations.
This class only finds patterns in a string. It can not perform replacements. Once created, the RegEx object needs to be compiled with the pattern before it can be used. The pattern must be escaped first for gdscript before it is escaped for the expression. For example:
Usage of regular expressions is too long to be explained here, but Internet is full of tutorials and detailed explanations. [code]var exp = RegEx.new()[/code]
[code]exp.compile("\\d+")[/code]
would be read by RegEx as [code]\d+[/code]
Similarly:
[code]exp.compile("\"(?:\\\\.|[^\"])*\"")[/code]
would be read as [code]"(?:\\.|[^"])*"[/code]
Currently supported features: Currently supported features:
Capturing [code]()[/code] and non-capturing [code](?:)[/code] groups * Capturing [code]()[/code] and non-capturing [code](?:)[/code] groups
Any character [code].[/code] * Any character [code].[/code]
Shorthand character classes [code]\w \W \s \S \d \D[/code] * Shorthand character classes [code]\w \W \s \S \d \D[/code]
User-defined character classes such as [code][A-Za-z][/code] * User-defined character classes such as [code][A-Za-z][/code]
Simple quantifiers [code]?[/code], [code]*[/code] and [code]+[/code] * Simple quantifiers [code]?[/code], [code]*[/code] and [code]+[/code]
Range quantifiers [code]{x,y}[/code] * Range quantifiers [code]{x,y}[/code]
Lazy (non-greedy) quantifiers [code]*?[/code] * Lazy (non-greedy) quantifiers [code]*?[/code]
Beginning [code]^[/code] and end [code]$[/code] anchors * Beginning [code]^[/code] and end [code]$[/code] anchors
Alternation [code]|[/code] * Alternation [code]|[/code]
Backreferences [code]\1[/code] and [code]\g{1}[/code] * Backreferences [code]\1[/code] and [code]\g{1}[/code]
POSIX character classes [code][[:alnum:]][/code] * POSIX character classes [code][[:alnum:]][/code]
Lookahead [code](?=)[/code], [code](?!)[/code] and lookbehind [code](?&lt;=)[/code], [code](?&lt;!)[/code] * Lookahead [code](?=)[/code], [code](?!)[/code] and lookbehind [code](?&lt;=)[/code], [code](?&lt;!)[/code]
ASCII [code]\xFF[/code] and Unicode [code]\uFFFF[/code] code points (in a style similar to Python) * ASCII [code]\xFF[/code] and Unicode [code]\uFFFF[/code] code points (in a style similar to Python)
Word boundaries [code]\b[/code], [code]\B[/code] * Word boundaries [code]\b[/code], [code]\B[/code]
</description> </description>
<methods> <methods>
<method name="clear"> <method name="clear">