Improve the RegEx class documentation

This closes https://github.com/godotengine/godot-docs/issues/2522.
This commit is contained in:
Hugo Locurcio 2020-02-27 23:09:32 +01:00
parent e66d519286
commit 5b78f5c464
No known key found for this signature in database
GPG Key ID: 39E8F8BE30B0A49C
1 changed files with 3 additions and 1 deletions

View File

@ -10,7 +10,7 @@
var regex = RegEx.new() var regex = RegEx.new()
regex.compile("\\w-(\\d+)") regex.compile("\\w-(\\d+)")
[/codeblock] [/codeblock]
The search pattern must be escaped first for gdscript before it is escaped for the expression. For example, [code]compile("\\d+")[/code] would be read by RegEx as [code]\d+[/code]. Similarly, [code]compile("\"(?:\\\\.|[^\"])*\"")[/code] would be read as [code]"(?:\\.|[^"])*"[/code]. The search pattern must be escaped first for GDScript before it is escaped for the expression. For example, [code]compile("\\d+")[/code] would be read by RegEx as [code]\d+[/code]. Similarly, [code]compile("\"(?:\\\\.|[^\"])*\"")[/code] would be read as [code]"(?:\\.|[^"])*"[/code].
Using [method search] you can find the pattern within the given text. If a pattern is found, [RegExMatch] is returned and you can retrieve details of the results using functions such as [method RegExMatch.get_string] and [method RegExMatch.get_start]. Using [method search] you can find the pattern within the given text. If a pattern is found, [RegExMatch] is returned and you can retrieve details of the results using functions such as [method RegExMatch.get_string] and [method RegExMatch.get_start].
[codeblock] [codeblock]
var regex = RegEx.new() var regex = RegEx.new()
@ -35,6 +35,8 @@
# Would print 01 03 3f 42 # Would print 01 03 3f 42
# Note that d0c would not match # Note that d0c would not match
[/codeblock] [/codeblock]
[b]Note:[/b] Godot's regex implementation is based on the [url=https://www.pcre.org/]PCRE2[/url] library. You can view the full pattern reference [url=https://www.pcre.org/current/doc/html/pcre2pattern.html]here[/url].
[b]Tip:[/b] You can use [url=https://regexr.com/]Regexr[/url] to test regular expressions online.
</description> </description>
<tutorials> <tutorials>
</tutorials> </tutorials>