def get_exact(self): r = re.match(r"exact( ([0-9]*\.?[0-9]))?", self.trigger) if not r: return False if re.groups(): return float(re.groups[1]) else: return 3
def uuid(value): """ parse uuid and return a blank uuid without "{}". if the uuid is wrong it will raise an exception. """ re = REGEX_UUID.match(value.lower()) if re is None: raise ValueError('uuid is wrong') returnvalue, = re.groups() return returnvalue
def importMCP(): global mcp_dir version = re.search(r'', branch) if re is not None: forge_name = "forge_mc%s" % re.groups()[0] else: forge_name = "forge" forge_src = os.path.join(extRes, forge_name) shutil.copytree(forge_src, os.path.join(workspace, "forge")) mcp_dir = os.path.join(workspace, 'forge/mcp') sys.path.append(mcp_dir)
s = 0 matchables = {(r'"[^"]*', STRING), (r'\'.\'', CHAR), )r'\'.{2,}\'', EXP (r'\+', CELLCOMMAND), (r'-', CELLCOMMAND), (r'>', TAPECOMMAND), (r'<', TAPECOMMAND), () } while s < len(script): for x in matchables: if re.match(x[0], script[s:]): r.append((re.groups()[1], x[1])) s+=len(re.groups()[1]) return r def execute(script): script = lex(script) tape = [0] ip = 0 i = 0 while i < len(script): c = script[i] if c == '>': ip+=1
# сопоставлений, в котором содержится не более чем max фрагментов # (по умолчанию разбиение проводится по всем вхождениям) re.sub(pattern, repl, string, count=0) # Заменяет все вхождения шаблона регулярного выражения pattern в # строке string подстрокой repl, выполняя подстановку вместо всех # вхождений, если не задан параметр count (см. также функцию subn(), # которая, кроме этого, возвращает количество выполненных подстановок) re.purge() # Очищает кеш неявно скомпилированных шаблонов регулярного выражения re.group(num=0) # Возвращает все сопоставление (или конкретную подгруппу num) re.groups(default=None) # Возвращает все сопоставленные подгруппы в виде кортежа (если # сопоставления отсутствуют, кортеж пуст) re.groupdict(default=None) # Возвращает словарь, содержащий все согласованные именованные # подгруппы, в котором ключами являются имена подгрупп (если # сопоставления отсутствуют, словарь пуст) # ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: re.I, re.IGNORECASE # Сопоставление без учета регистра re.L, re.LOCALE