python重新编译(“;regex”;)。搜索返回span(0,0)match=“”;
我在python中使用python重新编译(“;regex”;)。搜索返回span(0,0)match=“”;,python,regex,re,Python,Regex,Re,我在python中使用re库已经有一段时间了。 然而,有件事我不明白 pattern=re.compile(“[.]”) 结果=模式。搜索('abcde') 打印(结果) 上面返回: 而: pattern=re.compile('.')) 结果=模式。搜索('abcde') 打印(结果) 这将返回: Q1:在python中搜索'[.]'和'.有什么区别 Q2:我知道在'abcd'中搜索'a'会返回'span=(0,1)。但是'span=(0,0)实际上是什么意思?您使用的是哪种版本的Pyth
re
库已经有一段时间了。
然而,有件事我不明白
pattern=re.compile(“[.]”)
结果=模式。搜索('abcde')
打印(结果)
上面返回:
而:
pattern=re.compile('.'))
结果=模式。搜索('abcde')
打印(结果)
这将返回:
Q1:在python中搜索'[.]'
和'.
有什么区别
Q2:我知道在
'abcd'
中搜索'a'
会返回'span=(0,1)
。但是'span=(0,0)
实际上是什么意思?您使用的是哪种版本的Python?我在3.7上,第一个为我返回None
执行
[]
时,指定要匹配集合中的字符<代码>不再是通配符,它试图匹配字符串中的实际句点。您使用的Python版本是什么?我在3.7上,第一个为我返回None
执行[]
时,指定要匹配集合中的字符<代码>不再是通配符,它试图匹配字符串中的实际句点
Q1:在python中搜索'[.]'
和'.
有什么区别
答:区别在于正则表达式的工作方式,而不是python本身
您可能知道,
(点)是一个用于匹配任何一个字符的正则表达式元字符,方括号[]
用于匹配一个特定位置的多个不同字符。在括号内使用一个点,即[.]
将字面上匹配字符
,在第一个示例中,由于字符串abcde
中不存在该字符,因此无法获得匹配
Q2:我知道在'abcd'
中搜索'a'
会返回'span=(0,1)
。但是'span=(0,0)
实际上意味着什么
回答:span()
返回可能匹配的长度
由于在第一个示例中没有得到任何匹配,因此长度设置为零,因此span=(0,0),match='
,其中match
是一个空字符串
Q1:在python中搜索'[.]'
和'.
有什么区别
答:区别在于正则表达式的工作方式,而不是python本身
您可能知道,
(点)是一个用于匹配任何一个字符的正则表达式元字符,方括号[]
用于匹配一个特定位置的多个不同字符。在括号内使用一个点,即[.]
将字面上匹配字符
,在第一个示例中,由于字符串abcde
中不存在该字符,因此无法获得匹配
Q2:我知道在'abcd'
中搜索'a'
会返回'span=(0,1)
。但是'span=(0,0)
实际上意味着什么
回答:span()
返回可能匹配的长度
由于在第一个示例中没有得到任何匹配,因此长度被设置为零,因此
span=(0,0),match='
其中match
是一个空字符串。我不确定,但可能'[.]'等同于'\',即匹配句点字符。我假设span(0,1)表示匹配在位置0,长度1处找到,而span(0,0)表示不匹配,因为字符串中没有句点。对Nicholas Hunter说:你是对的。自从我在[]中加上“.”后,它就变成了字面上的“.”像“\”。非常感谢。杰罗姆·理查德,谢谢你的编辑!我是StackOverFlow的新手,我会记住你的修复方法!我不确定,但可能“[.]”等同于“\”,即匹配句点字符。我假设span(0,1)表示匹配在位置0,长度1处找到,而span(0,0)表示不匹配,因为字符串中没有句点。对Nicholas Hunter说:你是对的。自从我在[]中加上“.”后,它就变成了字面上的“.”像“\”。非常感谢。杰罗姆·理查德,谢谢你的编辑!我是StackOverFlow的新手,我会记住你的修复方法!谢谢你回答这个问题。我认为你是对的!谢谢你回答这个问题。我认为你是对的!谢谢你第一次回答这个问题。我用的是Pithonista ios应用程序!我认为你是对的,这是应用程序中的一个bug!谢谢你第一次回答这个问题。我用的是Pithonista ios应用程序!我认为你是对的,这是应用程序中的一个bug!