得到了sre_constants.error:没有什么可重复的,我被困

时间:2015-08-19 17:38:53

标签: regex python-3.x

问题似乎直接源于模式,它应该过滤

  1. 从1到10的5个数字。
  2. 逗号。
  3. 两位数的十六进制数。
  4. 我在下面粘贴我的代码,请告诉我是否有任何特殊问题并提前致谢。

    patterns = [r'^{5}[0-9],2[0-9a-fA-F] $'] #pattern list
    
    class IterPat:
        def __init__(self, lect, pat = patterns):
            self.pat = pat  # lista de patrones posibles para sensores
            self.lect = lect  # lectura siendo analizada
            #self.patLen = len(pat)  #Largo de patrones // no sabemos si lo usaremos
    
            '''
            Primero revisa si ya pasamos por todas las iteraciones posibles
            luego revisa si la iteración es la que pensabamos, de ser así regresa una
            tupla con el patrón correspondiente, y la lectura
            de otra forma para el valor de ser mostrado
            '''
        def Iterar(self):
            for self.iteracion in self.pat:
                #problem seem sto originate here
                pattern = re.compile(self.iteracion)
                comp = pattern.match(self.lect)
                if comp == True:
                    re_value = (self.pattern, self.lect)
                return re_value
    

1 个答案:

答案 0 :(得分:1)

就像错误消息所说的那样,量词表达式<?php include("./connection/database_connect.php"); include("./top_table.php"); if((isset($_SESSION["ID"])) AND (isset($_GET["temp"]))) { $id=$_SESSION["ID"]; $sql="SELECT temp FROM perfil, client WHERE perfil.ID ='$id'"; $consult=mysqli_query($connect,$sql); $result=mysqli_num_rows($consult); if(($result==1)) { $person_data=mysqli_fetch_array($consult, MYSQLI_ASSOC); $temp=$person_data["temp"]; header("HTTP/1.1" . " " . 200 . "OK"); header("Content-Type: text/html; charset=UTF-8"); header("Content-Length: 1112"); header("Connection: close"); header("/r/n"); echo $temp; } else { //se user dosen't exist on data base header("Location: http://192.168.1.80/xampp/training/login.php"); exit; } } else { header("Location: http://192.168.1.80/xampp/training/login.php"); exit; } ?> 不能随便执行任何操作。您似乎试图将其用作前缀运算符,但它是一个后缀运算符。因此,{5}等您可以用速记r'[0-9]{5}'替换数字字符类。

当然,文字\d只会匹配第二个字面值。你需要大括号来使它成为量词。所以2或只是[0-9a-fA-F]{2}