Пример #1
0
 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
Пример #2
0
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
Пример #3
0
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)
Пример #4
0
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)
Пример #5
0
    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
Пример #6
0
# сопоставлений, в котором содержится не более чем 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