python - 正则表达式: Removing this [##### : #####] from a string

标签 python regex

我正在尝试找出如何从字符串的开头删除此 [###:###] [###:###]other random使用正则表达式替换文本

我已经尝试过:

line = '[123:456]othertext'
print re.sub(r'^[\d*:\d*],'',line)

但这留下了括号:'[]othertext'

这里的问题是括号传统上表示正则表达式捕获组。所以我然后尝试使用转义键 \\ 忽略它们:

line = '[123:456]othertext'
print re.sub(r'^\\[\d*:\d*\\],'',line)

这表明字符串没有变化:'[123:456]othertext'

如何正确设置正则表达式的格式?

最佳答案

应在原始字符串文字中使用单个反斜杠来转义特殊的正则表达式元字符和速记字符类。

使用

import re
line = '[123:456]othertext'
print re.sub(r'^\[\d*:\d*\]','',line)
#               ^        ^
# => othertext

参见 Python demo

关于python - 正则表达式: Removing this [##### : #####] from a string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36655581/

相关文章:

python - 选择具有日期时间的 N 个最近唯一值的行

python - 如何在 matplotlib 中绘制不同边色的散点图?

python - 不是从 MainLoop() 出来的

python - Django接受QueryParams(必须是可调用错误)

java - 从一个文件中读取多行并根据开始和结束模式将它们组合成一行?

python - 如何在没有使用 python 的按键事件的情况下在内部更新/重绘 GTK 小部件 (GTKLabel)?

c# - 用于在数字模式和冒号或换行符之间提取字符串的正则表达式

regex - 获取模式之间的第二次出现

javascript - 使用 JQuery,如何检查字符串是否是字母字符后跟八位数字?

ruby-on-rails - 将 .find 与正则表达式结合使用