根據http://www.php2python.com/wiki/function.preg-replace-callback/ re.sub是PHP的preg_replace_callback的python equivlant,但php版本需要一個數組來匹配字符串,因此您可以傳遞多個字符串,但re.sub似乎只接受一個字符串。python的re.sub將數組作爲輸入參數嗎?
這是正確的還是我對python的薄弱知識?
根據http://www.php2python.com/wiki/function.preg-replace-callback/ re.sub是PHP的preg_replace_callback的python equivlant,但php版本需要一個數組來匹配字符串,因此您可以傳遞多個字符串,但re.sub似乎只接受一個字符串。python的re.sub將數組作爲輸入參數嗎?
這是正確的還是我對python的薄弱知識?
如果你想這樣做的陣列上只需要一個字符串http://docs.python.org/library/re.html#re.sub
,你可以用一個列表理解,例如
>>> array_of_strings = ["3a1", "1b2", "1c", "d"]
>>> [re.sub("[a-zA-Z]", "", elem) for elem in array_of_strings]
["31", "12", "1", ""]
但如果您使用的是複雜的表情,你應該使用上的圖案第一
在preg_replace_callback中,第一個參數是一個不同的search->替換模式的數組,elem是一個包含一個或多個search->替換模式的字符串。 – vfclists
@vfclists,你可以用一系列嵌套的re.sub來做到這一點(因爲它們都返回一個字符串)。 –
檢查[官方文檔(http://docs.python.org/library/re
re.compile
。 HTML#應用re.sub);它是否說你可以通過一個列表? –我已經檢查過,但作爲一個python新手我想確認,以防可能會有另一個python庫過程也一樣,在這種情況下提到的網站是錯誤的。 – vfclists