33 lines
1.9 KiB
Python
33 lines
1.9 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
|
|
from re import Pattern as REPattern
|
|
from re import compile as re_compile
|
|
from re import IGNORECASE as RE_IGNORE_CASE
|
|
|
|
class RE:
|
|
KEY:REPattern = re_compile(r'^[a-z_][a-z0-9_]*$', RE_IGNORE_CASE)
|
|
STRING_VARIABLES:REPattern = re_compile(r'\{([a-z_][a-z0-9_]*)\}', RE_IGNORE_CASE)
|
|
LINE:REPattern = re_compile(r'^([^\r\n]*)')
|
|
SLASHES:REPattern = re_compile(r'[\\/]+')
|
|
EXCEPTION:REPattern = re_compile(r'^\s*File "([^"]+)", line ([0-9]+), in ([^\n]+)(.*|[\r\n]*)*$')
|
|
BREAK_LINES:REPattern = re_compile(r'\r\n|[\r\n]')
|
|
TO_SNAKE:REPattern = re_compile(r'[^a-zA-Z0-9]*([A-Z][A-Z0-9]*)|[^a-z0-9]+')
|
|
FRAGMENT_PATTERN:REPattern = re_compile(r'\${3}([0-9]+)\${3}')
|
|
FRAGMENT_VARIABLES:REPattern = re_compile(r'\{([^\{\}]+)\}')
|
|
FORMAT_SPLIT:REPattern = re_compile(r'^([^,:]+)[,:](.*)$')
|
|
FORMAT_PARTS:REPattern = re_compile(r'\{([^\{\}]+)\}|[^\{]+|\{')
|
|
LIST_ITEM:REPattern = re_compile(r'^list:([a-z0-9_]+)$', RE_IGNORE_CASE)
|
|
CAPITAL_CASE:REPattern = re_compile(r'^(.)')
|
|
BASIC_MODE_SPLIT:REPattern = re_compile(r'^([^,]+),(.*)$')
|
|
IS_SEPARATOR:REPattern = re_compile(r'^[a-z 0-9]+$', RE_IGNORE_CASE)
|
|
ABSOLUTE_INTEGER:REPattern = re_compile(r'^[0-9]+$')
|
|
SELECT_MODE_SPLIT:REPattern = re_compile(r'^([^,]+),([^,]+),(.*)$')
|
|
ROUTE_ITEM:REPattern = re_compile(r'^(?:([^:]+):)([^\s]+)\s+(?:([^\@\s]+)\@([^\s]+)|([^\s]+))(?:\s+([^\s]+))?$')
|
|
ROUTE_RE_FORMAT:REPattern = re_compile(r'(\(\[\^\\\/\]\+\))|([\/])')
|
|
HTTP_BLOCKS:REPattern = re_compile(r'((?:(?!(?:(?:\r\n){2}|\n{2}|\r{2}))(?:.|[\r\n]+))+)(?:(?:\r\n){2}|\n{2}|\r{2}((?:.+|[\r\n]+)*))?')
|
|
NEW_LINE:REPattern = re_compile(r'\r\n|[\n\r]')
|
|
HTTP_REQUEST:REPattern = re_compile(r'^([^\s]+)\s([^\s\?\#]+)(?:\?([^#]+))?(?:\#[^\s]+)?\s([^\/]+)\/([0-9\.]+)$')
|
|
URI_VARIABLES:REPattern = re_compile(r'&?([^=&]+)=([^&]*)')
|
|
HEADER_LINE:REPattern = re_compile(r'^([^\:]+)\:(.+)$')
|