用于替换python中的某些字符串的正则表达式

时间:2014-09-23 08:03:54

标签: python regex string

我感觉很傻,但我对python完全不熟悉,我有一个任务用NULL替换下面的字符串模式。

字符串类型" xyz.xyz(1,2,3)"应替换为" NULL" (两种情况下都不是双引号)。

类似的东西 - String s =" abc xyz.xyz(1,2,3)pqr"应该成为 s =" abc NULL pqr"

s可以包含xyz.xyz(10,20,30)或xyz.xyz(1)..即括号内可以出现任何内容。

1 个答案:

答案 0 :(得分: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或更多时间
  • \)转义右括号