aboutsummaryrefslogtreecommitdiff
path: root/drivers/nrex/regex.h
diff options
context:
space:
mode:
authorpunto-2015-07-24 13:17:58 -0300
committerpunto-2015-07-24 13:17:58 -0300
commit257dba9a4a545a3e2ff7da3dab348899245fd998 (patch)
tree597b33bf8964c4d13089a35d3ed108b7895e1ead /drivers/nrex/regex.h
parentf697ec2fe022583dde5f3ae650f49cfd7f237c33 (diff)
parent69eff35cd5758aa4a6d299989342ae0e08894a8f (diff)
downloadgodot-257dba9a4a545a3e2ff7da3dab348899245fd998.tar.gz
godot-257dba9a4a545a3e2ff7da3dab348899245fd998.tar.zst
godot-257dba9a4a545a3e2ff7da3dab348899245fd998.zip
Merge pull request #2300 from leezh/nrex-port
New RegEx library
Diffstat (limited to 'drivers/nrex/regex.h')
-rw-r--r--drivers/nrex/regex.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/drivers/nrex/regex.h b/drivers/nrex/regex.h
new file mode 100644
index 000000000..062602970
--- /dev/null
+++ b/drivers/nrex/regex.h
@@ -0,0 +1,47 @@
+/*************************************************/
+/* regex.h */
+/*************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/*************************************************/
+/* Source code within this file is: */
+/* (c) 2007-2010 Juan Linietsky, Ariel Manzur */
+/* All Rights Reserved. */
+/*************************************************/
+
+#ifndef REGEX_H
+#define REGEX_H
+
+#include "ustring.h"
+#include "vector.h"
+#include "core/reference.h"
+#include "nrex.hpp"
+
+class RegEx : public Reference {
+
+ OBJ_TYPE(RegEx, Reference);
+
+ mutable String text;
+ mutable Vector<nrex_result> captures;
+ nrex exp;
+
+protected:
+
+ static void _bind_methods();
+ StringArray _bind_get_captures() const;
+
+public:
+
+ void clear();
+ bool is_valid() const;
+ int get_capture_count() const;
+ String get_capture(int capture) const;
+ Error compile(const String& p_pattern);
+ int find(const String& p_text, int p_start = 0, int p_end = -1) const;
+
+ RegEx();
+ RegEx(const String& p_pattern);
+ ~RegEx();
+};
+
+#endif // REGEX_H