当前位置: 首页 > 知识库问答 >
问题:

为什么re.match(“c”,“cat”)不返回true?

龙佐
2023-03-14

为什么会

not re.match("c", "cat")

返回False,但是

re.match("c", "cat")

不返回True,而是返回对象在内存中的位置。我找不到一种方法让这句话变为真,但我知道这是真的,因为:

if re.match("c", "cat"):
    print "Yes!"

返回"Yes!"。

正如我所说,这没有实际意义,至少目前没有,但它确实让我感到困惑。

共有3个答案

景德海
2023-03-14

那么关注这个,

not re.match("c", "cat")

这里re.match("c","cat")将返回"对象在内存中的位置",如您所说。这不是假的。

因此,现在,不重新匹配(“c”、“cat”)将导致:

不假

错误的

当然,这种思维也可以应用于逻辑条件,比如if语句的条件。

荀子轩
2023-03-14

如果有匹配,函数re.match()返回匹配对象,如果没有,则返回No

要从中创建可以使用的布尔值,请执行以下操作:

if re.match(...) is not None:

然而,在Python中,这并不是绝对必要的:看看这个线程,了解Python的“truthy”和“falsy”值的更多信息。

杜骏祥
2023-03-14

使用bool()转换为布尔值(true/false):

bool(re.match("c", "cat")) == true

当您在if语句中使用re.match(“c”、“cat”)时,它会自动转换为布尔值true,这就是它将返回是的原因

使用not将自动将其转换为布尔值,然后将其反转,因此:

not re.match("c", "cat") == false

 类似资料:
  • 问题内容: 我觉得有点愚蠢,但它不起作用: 我有如果给定的用户是unicode。如果字符串中包含或,我想打印成功,但是我总是得到的结果。 问题答案: 隐式锚定到字符串的开头。如果要在字符串中搜索可以在字符串中任何位置的子字符串,则需要使用: 输出: 另外,Python Regexes不需要在开头和结尾都有一个。 最后,我添加到该行的末尾,因为我认为这就是您想要的。否则,您会得到类似的信息,但并不太

  • 问题内容: 我有这样的事情: 而且我总是得到“时钟周期为:0-0”的输出 知道为什么会这样吗? (仅给出一点点细节,something_else()函数使用蒙哥马利表示法执行从左到右的求幂运算,而且我不确定不确定something_else()函数确实花费了一些不可忽略的时间。) 这是在Linux上。uname -a的结果是: 问题答案: 该功能不测量CPU时钟周期。 C说: “ 从实现定义的仅与

  • 问题内容: 我正在通过以下方式从Java代码启动Windows进程(用C ++编写,但没有源代码): 我的问题是,waitFor()方法永远不会结束。因此,我尝试在一个简单的shell中启动该过程,并以shell中的许多打印正确结束(我猜是标准输出)。 因此,即使我现在不需要这些输出,我还是决定创建并启动一个读取标准输出的线程。这解决了问题。 因此,我的问题是以下问题:该解决方案是“启动并等待具有

  • 我在客户端使用vue、vue路由器,在服务器端使用express、morgan(MEVN应用程序) 在客户端我用vue cookie设置cookie 在服务器端,我使用CookieParser 所以,在应用程序。我有这样的代码 并且,在文件中,我有这样一个GET请求的代码 问题是,var loginHash=req.cookies['Login'];总是返回未定义的,即使我有登录cookie 添加

  • 当我试图对泛型类型执行TypedQuery时,我会从Eclipse得到一个未检查的类型转换警告。 我在这里使用泛型,因为在数据集中,由于查询和编辑的时间限制,每年都必须分离到不同的表中。表中有118年的数据(自1900年以来),我希望构建一个可以使用Java Reflections API每年扩展自己的系统。但是,这意味着在编译之前,我的父类不知道它们将对哪个子类或表进行操作。 下面是一些代码的示

  • 根据JSON规范,表示null值的正确方法是文字。 预期结果: 实际结果: