Voxellancer  0.3
A game about voxels in space
 All Classes Functions Pages
propertyregex.h
1 #pragma once
2 
3 #include "def_regex.h"
4 
5 
6 // some string, some spaces, equals, some spaces, some string, some spaces, maybe a comment
7 static regexns::regex line_regex() { return regexns::regex(R"(^([\w\.]*) *= *(.+?) *(?:#.*)?$)"); }
8 static regexns::regex title_regex() { return regexns::regex(R"(^\[(\w+)\] *(?:#.*)?)"); }
9 
10 static regexns::regex float_regex() { return regexns::regex(R"(^([-+]?\d*\.?\d*) *(DEG)?$)"); }
11 static regexns::regex int_regex() { return regexns::regex(R"(^([-+]?\d+)$)"); }
12 static regexns::regex uint32_regex() { return regexns::regex(R"(^(\d+)|(0x([0-9a-fA-F]){1,8})$)"); } // stoi can also parse hex values
13 static regexns::regex bool_regex() { return regexns::regex(R"(^(true|false)$)"); }
14 static regexns::regex char_regex() { return regexns::regex(R"(^\w$)"); }
15 static regexns::regex string_regex() { return regexns::regex(R"(^.*$)"); }
16 static regexns::regex vec2_regex() { return regexns::regex(R"(^([-+]?\d*\.?\d*), *([-+]?\d*\.?\d*)$)"); }
17 static regexns::regex vec3_regex() { return regexns::regex(R"(^([-+]?\d*\.?\d*), *([-+]?\d*\.?\d*), *([-+]?\d*\.?\d*)$)"); }
18 static regexns::regex vec4_regex() { return regexns::regex(R"(^([-+]?\d*\.?\d*), *([-+]?\d*\.?\d*), *([-+]?\d*\.?\d*), *([-+]?\d*\.?\d*)$)"); }
19 static regexns::regex input_mapping_regex() { return regexns::regex(R"(^InputMapping\((\d+), *(\d+), *([-+]?\d*\.?\d*), *([-+]?\d*\.?\d*)\)$)"); }
20 static regexns::regex list_regex() { return regexns::regex(R"(^([a-zA-Z1-9]+)(, *([a-zA-Z1-9]+))*$)"); }