2014-09-23 209 views
-5

替換某些字符串我感到愚蠢,但我完全新的Python和我有個任務,以取代在與空字符串模式。正則表達式在Python

字符串類型的「xyz.xyz(1,2,3)」應與「NULL」(在兩種情況下並非雙引號)被替換。

喜歡的東西 - 字符串S = 「ABC xyz.xyz(1,2,3)PQR」 應成爲 S = 「ABC NULL PQR」

S可含有xyz.xyz(10,20,30 )或xyz.xyz(1)..即內部的任何東西都可以出現。

+1

替換'XYZ \名爲.xyz \([^)] * \)'與'NULL' – hjpotter92 2014-09-23 08:10:48

回答

0

您需要正則表達式是:

import re 

s = 'abc xyz.xyz(1, 2, 3) pqr' 

re.sub(r'[a-z]{3}\.{[a-z]{3}\([^)]*\)', 'NULL', s) 

說明:

  • [a-z]{3}代表3個小寫字母(小寫)
  • \.逃脫點,因爲它是特殊字符
  • [a-z]{3} 3再次小寫字母
  • \(逸出的左括號
  • [^)]*任何字符,但右括號,0或更多的時間
  • \)逸出的右括號
+0

謝謝。很好的解釋。開始學習正則表達式:) – user2952821 2014-09-23 10:44:10