【问题标题】:Regex for replacing certain string in python [closed]用于替换python中某些字符串的正则表达式[关闭]
【发布时间】:2014-11-17 08:34:35
【问题描述】:

我觉得自己很傻,但我对 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) .. 即在括号内可以出现任何内容。

【问题讨论】:

  • NULL替换xyz\.xyz\([^)]*\)

标签: python regex string


【解决方案1】:

你需要正则表达式:

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}又是三个小写字母
  • \( 转义左括号
  • [^)]* 除右括号外的任何字符,0 次或更多时间
  • \) 转义右括号

【讨论】:

  • 谢谢。很好的解释。开始学习正则表达式:)
猜你喜欢
  • 2016-11-27
  • 1970-01-01
  • 2011-11-03
  • 1970-01-01
  • 1970-01-01
  • 2022-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多