2017-05-26 140 views
1

我正在使用其开发团队仅支持PHP的REST库。除了将这部分PHP代码翻译成我的Python代码库之外,几乎所有工作都已完成。 “preg_match”对我来说很难,请帮忙。需要帮助将PHP翻译为Python

他们的PHP:

function strippadding($string) { 
    $slast = ord(substr($string, -1)); 
    $slastc = chr($slast); 
    $pcheck = substr($string, -$slast); 
    if (preg_match("/$slastc{" . $slast . "}/", $string)) { 
    $string = substr($string, 0, strlen($string) - $slast); 
    return $string; 
    } else { 
    return false; 
    } 
} 

我的Python:

def strip_padding_pay2go(string): 
    last_string = string[-1] 
    slast  = ord(last_string) 
    slastc  = chr(slast) 
    pcheck  = last_string[:-slast] 

    if re.search("/" + str(slastc) + "{" + str(slast) + "}/", string): 
     last_char = len(string) - slast 
     new_string = string[0: last_char] 
     return new_string 
    else: 
     return False 

,但我一直没有(返回False)。

+0

您正在寻找Python的'重新module'。看看're.findall'和're.search'。 –

+1

我更新了问题 – RaR

+1

Python regexen不使用分隔符(开始和结束'/')... – deceze

回答

1

我得到了它

def strip_padding_pay2go(string): 
    last_string = string[-1] 
    slast  = ord(last_string) 
    slastc  = chr(slast) 
    pcheck  = last_string[:-slast] 

    if re.search(str(slastc) + "{" + str(slast) + "}", string): 
     last_char = len(string) - slast 
     new_string = string[0: last_char] 
     return new_string 
    else: 
     return False