我试图在控制台中使用正则表达式,但我不能。
我做错了什么?我认为我在python 3.5上。
首先,我尝试在字符串对象上使用.replace
。
然后我导入了re
模块,但即使这样也不适用于re.sub
我基本上不知所措。我只是想试用正则表达式,这样我就可以学习如何使用它们了。
你能帮助我开始吗?
对我没有用的代码是:
m = "555.555.5555"
mm = m.str.replace(r"'.'","helloworld")
mm
>> 555.555.5555
import re
mm = re.sub(r"'.'","helloworld",m)
mm
>> 555.555.5555
P.S。
我在这里有一些代码,我试图模仿
df.CODE.str.replace(r"\A'(E?[V\d]\d\d)(\d*).*", r'\1.\2')
所以实际上有效,但我不明白为什么。我读到的所有内容都说替换不使用正则表达式,你应该使用re
模块,但无论如何。我不明白为什么会这样。
答案 0 :(得分:2)
问题在于您尝试在字符串替换中使用正则表达式 - 字符串替换不支持您需要导入并使用re或regex库的正则表达式。
>>> import re
>>> m = "555.555.5555"
>>> >>> mm = re.sub(r"(\d\d)\.(\d)?", m, "helloworld")
>>> mm
'helloworld'