2017-05-26 136 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