1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245
|
/*
* Secret Labs' Regular Expression Engine
*
* regular expression matching engine
*
* Copyright (c) 1997-2001 by Secret Labs AB. All rights reserved.
*
* NOTE: This file is generated by regex.py. If you need
* to change anything in here, edit regex.py and run it.
*
* 2010-01-16 mrab Re-written
*/
/* Supports Unicode version 11.0.0. */
#define RE_MAGIC 20100116
#include "_regex_unicode.h"
/* Operators. */
#define RE_OP_FAILURE 0
#define RE_OP_SUCCESS 1
#define RE_OP_ANY 2
#define RE_OP_ANY_ALL 3
#define RE_OP_ANY_ALL_REV 4
#define RE_OP_ANY_REV 5
#define RE_OP_ANY_U 6
#define RE_OP_ANY_U_REV 7
#define RE_OP_ATOMIC 8
#define RE_OP_BOUNDARY 9
#define RE_OP_BRANCH 10
#define RE_OP_CALL_REF 11
#define RE_OP_CHARACTER 12
#define RE_OP_CHARACTER_IGN 13
#define RE_OP_CHARACTER_IGN_REV 14
#define RE_OP_CHARACTER_REV 15
#define RE_OP_CONDITIONAL 16
#define RE_OP_DEFAULT_BOUNDARY 17
#define RE_OP_DEFAULT_END_OF_WORD 18
#define RE_OP_DEFAULT_START_OF_WORD 19
#define RE_OP_END 20
#define RE_OP_END_OF_LINE 21
#define RE_OP_END_OF_LINE_U 22
#define RE_OP_END_OF_STRING 23
#define RE_OP_END_OF_STRING_LINE 24
#define RE_OP_END_OF_STRING_LINE_U 25
#define RE_OP_END_OF_WORD 26
#define RE_OP_FUZZY 27
#define RE_OP_GRAPHEME_BOUNDARY 28
#define RE_OP_GREEDY_REPEAT 29
#define RE_OP_GROUP 30
#define RE_OP_GROUP_CALL 31
#define RE_OP_GROUP_EXISTS 32
#define RE_OP_KEEP 33
#define RE_OP_LAZY_REPEAT 34
#define RE_OP_LOOKAROUND 35
#define RE_OP_NEXT 36
#define RE_OP_PROPERTY 37
#define RE_OP_PROPERTY_IGN 38
#define RE_OP_PROPERTY_IGN_REV 39
#define RE_OP_PROPERTY_REV 40
#define RE_OP_PRUNE 41
#define RE_OP_RANGE 42
#define RE_OP_RANGE_IGN 43
#define RE_OP_RANGE_IGN_REV 44
#define RE_OP_RANGE_REV 45
#define RE_OP_REF_GROUP 46
#define RE_OP_REF_GROUP_FLD 47
#define RE_OP_REF_GROUP_FLD_REV 48
#define RE_OP_REF_GROUP_IGN 49
#define RE_OP_REF_GROUP_IGN_REV 50
#define RE_OP_REF_GROUP_REV 51
#define RE_OP_SEARCH_ANCHOR 52
#define RE_OP_SET_DIFF 53
#define RE_OP_SET_DIFF_IGN 54
#define RE_OP_SET_DIFF_IGN_REV 55
#define RE_OP_SET_DIFF_REV 56
#define RE_OP_SET_INTER 57
#define RE_OP_SET_INTER_IGN 58
#define RE_OP_SET_INTER_IGN_REV 59
#define RE_OP_SET_INTER_REV 60
#define RE_OP_SET_SYM_DIFF 61
#define RE_OP_SET_SYM_DIFF_IGN 62
#define RE_OP_SET_SYM_DIFF_IGN_REV 63
#define RE_OP_SET_SYM_DIFF_REV 64
#define RE_OP_SET_UNION 65
#define RE_OP_SET_UNION_IGN 66
#define RE_OP_SET_UNION_IGN_REV 67
#define RE_OP_SET_UNION_REV 68
#define RE_OP_SKIP 69
#define RE_OP_START_OF_LINE 70
#define RE_OP_START_OF_LINE_U 71
#define RE_OP_START_OF_STRING 72
#define RE_OP_START_OF_WORD 73
#define RE_OP_STRING 74
#define RE_OP_STRING_FLD 75
#define RE_OP_STRING_FLD_REV 76
#define RE_OP_STRING_IGN 77
#define RE_OP_STRING_IGN_REV 78
#define RE_OP_STRING_REV 79
#define RE_OP_STRING_SET 80
#define RE_OP_STRING_SET_FLD 81
#define RE_OP_STRING_SET_FLD_REV 82
#define RE_OP_STRING_SET_IGN 83
#define RE_OP_STRING_SET_IGN_REV 84
#define RE_OP_STRING_SET_REV 85
#define RE_OP_BODY_END 86
#define RE_OP_BODY_START 87
#define RE_OP_END_ATOMIC 88
#define RE_OP_END_CONDITIONAL 89
#define RE_OP_END_FUZZY 90
#define RE_OP_END_GREEDY_REPEAT 91
#define RE_OP_END_GROUP 92
#define RE_OP_END_LAZY_REPEAT 93
#define RE_OP_END_LOOKAROUND 94
#define RE_OP_FUZZY_INSERT 95
#define RE_OP_GREEDY_REPEAT_ONE 96
#define RE_OP_GROUP_RETURN 97
#define RE_OP_LAZY_REPEAT_ONE 98
#define RE_OP_MATCH_BODY 99
#define RE_OP_MATCH_TAIL 100
#define RE_OP_START_GROUP 101
char* re_op_text[] = {
"RE_OP_FAILURE",
"RE_OP_SUCCESS",
"RE_OP_ANY",
"RE_OP_ANY_ALL",
"RE_OP_ANY_ALL_REV",
"RE_OP_ANY_REV",
"RE_OP_ANY_U",
"RE_OP_ANY_U_REV",
"RE_OP_ATOMIC",
"RE_OP_BOUNDARY",
"RE_OP_BRANCH",
"RE_OP_CALL_REF",
"RE_OP_CHARACTER",
"RE_OP_CHARACTER_IGN",
"RE_OP_CHARACTER_IGN_REV",
"RE_OP_CHARACTER_REV",
"RE_OP_CONDITIONAL",
"RE_OP_DEFAULT_BOUNDARY",
"RE_OP_DEFAULT_END_OF_WORD",
"RE_OP_DEFAULT_START_OF_WORD",
"RE_OP_END",
"RE_OP_END_OF_LINE",
"RE_OP_END_OF_LINE_U",
"RE_OP_END_OF_STRING",
"RE_OP_END_OF_STRING_LINE",
"RE_OP_END_OF_STRING_LINE_U",
"RE_OP_END_OF_WORD",
"RE_OP_FUZZY",
"RE_OP_GRAPHEME_BOUNDARY",
"RE_OP_GREEDY_REPEAT",
"RE_OP_GROUP",
"RE_OP_GROUP_CALL",
"RE_OP_GROUP_EXISTS",
"RE_OP_KEEP",
"RE_OP_LAZY_REPEAT",
"RE_OP_LOOKAROUND",
"RE_OP_NEXT",
"RE_OP_PROPERTY",
"RE_OP_PROPERTY_IGN",
"RE_OP_PROPERTY_IGN_REV",
"RE_OP_PROPERTY_REV",
"RE_OP_PRUNE",
"RE_OP_RANGE",
"RE_OP_RANGE_IGN",
"RE_OP_RANGE_IGN_REV",
"RE_OP_RANGE_REV",
"RE_OP_REF_GROUP",
"RE_OP_REF_GROUP_FLD",
"RE_OP_REF_GROUP_FLD_REV",
"RE_OP_REF_GROUP_IGN",
"RE_OP_REF_GROUP_IGN_REV",
"RE_OP_REF_GROUP_REV",
"RE_OP_SEARCH_ANCHOR",
"RE_OP_SET_DIFF",
"RE_OP_SET_DIFF_IGN",
"RE_OP_SET_DIFF_IGN_REV",
"RE_OP_SET_DIFF_REV",
"RE_OP_SET_INTER",
"RE_OP_SET_INTER_IGN",
"RE_OP_SET_INTER_IGN_REV",
"RE_OP_SET_INTER_REV",
"RE_OP_SET_SYM_DIFF",
"RE_OP_SET_SYM_DIFF_IGN",
"RE_OP_SET_SYM_DIFF_IGN_REV",
"RE_OP_SET_SYM_DIFF_REV",
"RE_OP_SET_UNION",
"RE_OP_SET_UNION_IGN",
"RE_OP_SET_UNION_IGN_REV",
"RE_OP_SET_UNION_REV",
"RE_OP_SKIP",
"RE_OP_START_OF_LINE",
"RE_OP_START_OF_LINE_U",
"RE_OP_START_OF_STRING",
"RE_OP_START_OF_WORD",
"RE_OP_STRING",
"RE_OP_STRING_FLD",
"RE_OP_STRING_FLD_REV",
"RE_OP_STRING_IGN",
"RE_OP_STRING_IGN_REV",
"RE_OP_STRING_REV",
"RE_OP_STRING_SET",
"RE_OP_STRING_SET_FLD",
"RE_OP_STRING_SET_FLD_REV",
"RE_OP_STRING_SET_IGN",
"RE_OP_STRING_SET_IGN_REV",
"RE_OP_STRING_SET_REV",
"RE_OP_BODY_END",
"RE_OP_BODY_START",
"RE_OP_END_ATOMIC",
"RE_OP_END_CONDITIONAL",
"RE_OP_END_FUZZY",
"RE_OP_END_GREEDY_REPEAT",
"RE_OP_END_GROUP",
"RE_OP_END_LAZY_REPEAT",
"RE_OP_END_LOOKAROUND",
"RE_OP_FUZZY_INSERT",
"RE_OP_GREEDY_REPEAT_ONE",
"RE_OP_GROUP_RETURN",
"RE_OP_LAZY_REPEAT_ONE",
"RE_OP_MATCH_BODY",
"RE_OP_MATCH_TAIL",
"RE_OP_START_GROUP",
};
#define RE_FLAG_ASCII 0x80
#define RE_FLAG_BESTMATCH 0x1000
#define RE_FLAG_DEBUG 0x200
#define RE_FLAG_DOTALL 0x10
#define RE_FLAG_ENHANCEMATCH 0x8000
#define RE_FLAG_FULLCASE 0x4000
#define RE_FLAG_IGNORECASE 0x2
#define RE_FLAG_LOCALE 0x4
#define RE_FLAG_MULTILINE 0x8
#define RE_FLAG_POSIX 0x10000
#define RE_FLAG_REVERSE 0x400
#define RE_FLAG_TEMPLATE 0x1
#define RE_FLAG_UNICODE 0x20
#define RE_FLAG_VERBOSE 0x40
#define RE_FLAG_VERSION0 0x2000
#define RE_FLAG_VERSION1 0x100
#define RE_FLAG_WORD 0x800
|