将空字符串传递给正则表达式对象时,搜索结果是匹配对象而非None.应该是没有,因为没有什么可以匹配的?
import re
m = re.search("", "some text")
if m is None:
print "Returned None"
else:
print "Return a match"
Run Code Online (Sandbox Code Playgroud)
顺便说一句,使用特殊符号^并$产生相同的结果.
gru*_*czy 12
空模式匹配字符串的任何部分.
检查一下:
import re
re.search("", "ffff")
<_sre.SRE_Match object at 0xb7166410>
re.search("", "ffff").start()
0
re.search("$", "ffff").start()
4
Run Code Online (Sandbox Code Playgroud)
添加$不会产生相同的结果.匹配结束,因为它是唯一可以的地方.