2012-08-24 46 views
1

根據http://www.php2python.com/wiki/function.preg-replace-callback/ re.sub是PHP的preg_replace_callback的python equivlant,但php版本需要一個數組來匹配字符串,因此您可以傳遞多個字符串,但re.sub似乎只接受一個字符串。python的re.sub將數組作爲輸入參數嗎?

這是正確的還是我對python的薄弱知識?

+0

檢查[官方文檔(http://docs.python.org/library/re re.compile。 HTML#應用re.sub);它是否說你可以通過一個列表? –

+0

我已經檢查過,但作爲一個python新手我想確認,以防可能會有另一個python庫過程也一樣,在這種情況下提到的網站是錯誤的。 – vfclists

回答

5

,你可以用一個列表理解,例如

>>> array_of_strings = ["3a1", "1b2", "1c", "d"] 
>>> [re.sub("[a-zA-Z]", "", elem) for elem in array_of_strings] 
["31", "12", "1", ""] 

但如果您使用的是複雜的表情,你應該使用上的圖案第一

+0

在preg_replace_callback中,第一個參數是一個不同的search->替換模式的數組,elem是一個包含一個或多個search->替換模式的字符串。 – vfclists

+0

@vfclists,你可以用一系列嵌套的re.sub來做到這一點(因爲它們都返回一個字符串)。 –

相關問題