diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2016-02-12 10:49:11 +0100 |
---|---|---|
committer | Rémi Verschelde <remi@verschelde.fr> | 2016-02-12 10:49:11 +0100 |
commit | de6d6633ec96ee90afb3074be79c0ad6055ec8eb (patch) | |
tree | bd4f9c4ccaf155a508abaac19b89eda1d7fb596a /drivers | |
parent | 334b3bc9b01fc0a17525e899400b3323e5caa02f (diff) | |
parent | aec721b61fd8d493e5945475a4c5d783124be3cf (diff) |
Merge pull request #3680 from StraToN/regex_get_capture_start
Regex get capture start
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/nrex/regex.cpp | 9 | ||||
-rw-r--r-- | drivers/nrex/regex.h | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/drivers/nrex/regex.cpp b/drivers/nrex/regex.cpp index 459cf28e1e..5d6c9583ef 100644 --- a/drivers/nrex/regex.cpp +++ b/drivers/nrex/regex.cpp @@ -21,6 +21,7 @@ void RegEx::_bind_methods() { ObjectTypeDB::bind_method(_MD("is_valid"),&RegEx::is_valid); ObjectTypeDB::bind_method(_MD("get_capture_count"),&RegEx::get_capture_count); ObjectTypeDB::bind_method(_MD("get_capture","capture"),&RegEx::get_capture); + ObjectTypeDB::bind_method(_MD("get_capture_start","capture"),&RegEx::get_capture_start); ObjectTypeDB::bind_method(_MD("get_captures"),&RegEx::_bind_get_captures); }; @@ -68,6 +69,14 @@ String RegEx::get_capture(int capture) const { } +int RegEx::get_capture_start(int capture) const { + + ERR_FAIL_COND_V( get_capture_count() <= capture, -1 ); + + return captures[capture].start; + +} + Error RegEx::compile(const String& p_pattern, int capture) { clear(); diff --git a/drivers/nrex/regex.h b/drivers/nrex/regex.h index ae8d40ceab..4b063f0bf1 100644 --- a/drivers/nrex/regex.h +++ b/drivers/nrex/regex.h @@ -35,6 +35,7 @@ public: void clear(); bool is_valid() const; int get_capture_count() const; + int get_capture_start(int capture) const; String get_capture(int capture) const; Error compile(const String& p_pattern, int capture = 9); int find(const String& p_text, int p_start = 0, int p_end = -1) const; |