2014-01-08 19 views
-1

我正在嘗試將正則表達式的一些指令從Perl轉換爲Python。如何將Perl的匹配和替換運算符轉換爲Python?

我專門找能夠在以下三個指令翻譯:

while ($string =~ s/A/B/g) { 
    } 


    $string =~ s/A/B/g; 

    if ($string =~ m/a/) 
    { 
     ## do something 
    } 

好像你不能使用通常的小號//和M //語法,Perl和其他的Unix工具有。這是真的嗎?我必須深入研究Python中的正則表達式分析,還是有一些簡單的方法來翻譯這些指令?

+3

只需閱讀Python ['re'](http://docs.python.org/3.2/library/re.html#module-re)文檔。你基本上需要用're.sub'和're.match'替換'///'和'm ///'指令,我想(但我不知道Perl,所以你應該自己檢查一下)。 – senshin

+2

錯誤的問題。您應該問自己的問題是:「我如何使用Python中的正則表達式進行匹配」以及「如何在Python中使用正則表達式執行替換」。從那裏,很容易看到前進的方向:谷歌搜索肯定會引導你到文檔和例子。 – ikegami

回答

3

看一看the re module。隨着re,你可以做這樣的事情:

import re 
pattern = re.compile(r'[A-Z]') 
if pattern.search(string): 
    print "string contains a capital letter" 

您還可以使用sub方法,而不是search替代。