2014-03-02 48 views
0

我有一個這樣的字符串:的Python:替換所有匹配到

'A:dog=one|B:cat=two|A:horse=three|A:tiger=four|B:mouse=five|A:snake=six' 

我想替換所有子:用 'A:xxxxA' 'A XXXX',所以該字符串將成爲:

'A:dogA=one|B:cat=two|A:horseA=three|A:tigerA=four|B:mouse=five|A:snakeA=six' 

我該如何用正則表達式來做到這一點? 請諮詢

非常感謝你一直以來的支持

+4

這個問題似乎是無關緊要的,因爲OP沒有顯示出任何嘗試。 – chrylis

+0

如果你想要它,只要忽略這個問題。我不能刪除這篇文章,因爲有人已經回答了。滿意? – noobie

回答

0
>>> import re 
>>> s = 'A:dog=one|B:cat=two|A:horse=three|A:tiger=four|B:mouse=five|A:snake=six' 
>>> re.sub(r'A:\w+', r'\g<0>A', s) 
'A:dogA=one|B:cat=two|A:horseA=three|A:tigerA=four|B:mouse=five|A:snakeA=six' 

\w匹配任何單詞字符(字母,數字,_)。如果您不想要數字,_需要匹配,請使用[A-Za-z][a-z]flags=re.IGNORE_CASE標誌。

\g<0>被替換匹配的字符串(組0 =整個匹配的字符串)

如果是新的正則表達式,我建議你讀Regular Expression HOWTO - Python documentation

+0

超棒!!!!謝謝@falsetru – noobie

+0

@ user3370156,歡迎來到Stack Overflow!如果這對你有幫助,你可以通過接受答案告訴社區(http://meta.stackexchange.com/a/5235)。 – falsetru