Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 正则表达式入门_Python_Regex_Python 3.x_Console - Fatal编程技术网

Python 正则表达式入门

Python 正则表达式入门,python,regex,python-3.x,console,Python,Regex,Python 3.x,Console,我试图在控制台中简单地使用正则表达式,但我不能 我做错了什么?我想我正在使用python 3.5 首先,我尝试在字符串对象上使用.replace 然后我导入了re模块,但即使是re.sub 我基本上不知所措。我只是想尝试一下正则表达式,这样我就可以学习如何使用它们了 你能帮我开始吗 对我不起作用的代码是: m = "555.555.5555" mm = m.str.replace(r"'.'","helloworld") mm >> 555.555.5555 import re mm

我试图在控制台中简单地使用正则表达式,但我不能

我做错了什么?我想我正在使用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、 美国

我这里有一些我试图模仿的代码

df.CODE.str.replace(r"\A'(E?[V\d]\d\d)(\d*).*", r'\1.\2')

这确实有效,但我不明白为什么。我读到的所有东西都说replace不使用regex,你应该使用
re
模块,但无论如何。我不明白它为什么会起作用。

问题是您试图在字符串替换中使用正则表达式-字符串替换不支持正则表达式,因为您需要导入并使用re或regex库

>>> import re
>>> m = "555.555.5555"
>>> >>> mm = re.sub(r"(\d\d)\.(\d)?", m, "helloworld")
>>> mm
'helloworld'

你已经成为会员足够长的时间了,你知道你不应该在问题中发布文本图像,你应该为你的问题提供答案。不。请不要发布这样的图片。粘贴代码,并用你的话引用有问题的代码。我已经把代码放在我尝试过的地方了。我撤回了我的反对票和反对票。将代码作为文本过帐是StackOverflow的一个重要规范。图像通常会被删除或以新的URL结束,从而给未来的用户带来麻烦。
re.sub()
失败的原因是这种模式。模式
r“.”“
匹配一个单引号,后跟任何字符(这是正则表达式中句点的意思)和另一个单引号。要匹配文字
,您需要对其进行转义,以便按字面匹配。正则表达式必须是
r'\.
。谢谢,但我仍然不明白为什么它在
df.code.str.replace(r“\A'(E?[V\d]\d\d)(\d*).*,r'\1.\2')
代码行,其中df是一个数据帧。@LegitStack:似乎
df.code
对象引用了一个名为
str
的对象,该对象有一个接受正则表达式的
replace()
方法。由于Python字符串不支持这些语义,因此
str
引用的对象不是Python字符串。@LegitStack-您在问题中正在处理的对象是Python字符串-注释中的示例是pandas dataframe类成员-请在这两个方面都尝试
dir()
。@LegitStack:What
type(df.code.str)
return?
str
但是当我输入type(df)时,我得到
pandas.core.series.series