python - 为什么空 python 正则表达式搜索的返回值匹配?

标签 python regex

将空字符串传递给正则表达式对象时,搜索结果是一个匹配对象,而不是 None。应该是 None 吗?

import re

m = re.search("", "some text")
if m is None:
    print "Returned None"
else:
    print "Return a match"

顺便说一句,使用特殊符号 ^$ 会产生相同的结果。

最佳答案

空模式匹配字符串的任何部分。

检查这个:

import re

re.search("", "ffff")
<_sre.SRE_Match object at 0xb7166410>

re.search("", "ffff").start()
0

re.search("$", "ffff").start()
4

添加 $ 不会产生相同的结果。比赛在最后,因为它是唯一可以出现的地方。

关于python - 为什么空 python 正则表达式搜索的返回值匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4464955/

相关文章:

python - 根据import查找Django源码

python - if语句检查字符串是否有大写字母、小写字母和数字

javascript - 正则表达式在 javascript replace() 方法中同时捕获 '?' 和 '%3f'

javascript - 在javascript中将带有#符号的文本转换为链接

python - 用正则表达式可以解决这个问题吗?

java - 用于检查字符串是否与包或其他包匹配的正则表达式

javascript - 正则表达式忽略大小写

python - Bokeh: DateRangeSlider decreases the year by 1 when the chosen start date is Jan 1st

python - 如何在 Flask Peewee ORM 中设置 Postgres 用户名和密码?

python - 等效于 Python 的 OpenCV 中的 FileNotFoundError