我正在尝试找出如何从字符串的开头删除此 [###:###]
[###:###]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/