From e380ea8faca1ea9bbd3338a47ebc81ac01acc9bc Mon Sep 17 00:00:00 2001 From: Julian Murgia - StraToN Date: Fri, 12 Feb 2016 07:45:12 +0100 Subject: [PATCH 1/2] Added RegEx::get_capture_start() method --- drivers/nrex/regex.cpp | 9 +++++++++ drivers/nrex/regex.h | 1 + 2 files changed, 10 insertions(+) diff --git a/drivers/nrex/regex.cpp b/drivers/nrex/regex.cpp index 459cf28e1e5..223e5217250 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, String() ); + + 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 ae8d40ceab1..4b063f0bf18 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; From aec721b61fd8d493e5945475a4c5d783124be3cf Mon Sep 17 00:00:00 2001 From: Julian Murgia - StraToN Date: Fri, 12 Feb 2016 07:50:35 +0100 Subject: [PATCH 2/2] Forgot to correct the ERR_FAIL_COND_V. --- drivers/nrex/regex.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/nrex/regex.cpp b/drivers/nrex/regex.cpp index 223e5217250..5d6c9583ef0 100644 --- a/drivers/nrex/regex.cpp +++ b/drivers/nrex/regex.cpp @@ -71,7 +71,7 @@ String RegEx::get_capture(int capture) const { int RegEx::get_capture_start(int capture) const { - ERR_FAIL_COND_V( get_capture_count() <= capture, String() ); + ERR_FAIL_COND_V( get_capture_count() <= capture, -1 ); return captures[capture].start;