Regex 如何生成不包含';我一个字也不匹配

Regex 如何生成不包含';我一个字也不匹配,regex,Regex,在python代码中 regular_expression = "" p = re.compile(regular_expression) result = p.match("some strings") if result: print("Match") else: print("No Match") 我想做一个在任何情况下都找不到匹配项的正则表达式。 我想“没有文字”也行。但遗憾的是,它总是返回“匹配”。 我还想知道为什么它是这样工作的。“”和“.*”如何相同?一个简单的

在python代码中

regular_expression = ""
p = re.compile(regular_expression)
result = p.match("some strings")

if result:
    print("Match")
else:
    print("No Match")
我想做一个在任何情况下都找不到匹配项的正则表达式。 我想“没有文字”也行。但遗憾的是,它总是返回“匹配”。 我还想知道为什么它是这样工作的。“”和“.*”如何相同?

一个简单的正则表达式是

(?!)
意思是“断言不可能匹配空字符串”

您的“空正则表达式”总是精确匹配,因为它总是可以匹配空字符串
.match()
不要求正则表达式匹配整个字符串,它只要求正则表达式在字符串的开头匹配,它确实需要匹配

如果希望正则表达式与整个字符串匹配,请使用:

仅匹配空字符串

编辑:

在大多数正则表达式风格中,
\z
是真正的字符串结尾锚点,而
\z
也可以在字符串结尾的最后一个换行符之前进行匹配。然而,在Python中,
\Z
表现为真正的字符串结束锚。

一个简单的正则表达式是

(?!)
意思是“断言不可能匹配空字符串”

您的“空正则表达式”总是精确匹配,因为它总是可以匹配空字符串
.match()
不要求正则表达式匹配整个字符串,它只要求正则表达式在字符串的开头匹配,它确实需要匹配

如果希望正则表达式与整个字符串匹配,请使用:

仅匹配空字符串

编辑:


在大多数正则表达式风格中,
\z
是真正的字符串结尾锚点,而
\z
也可以在字符串结尾的最后一个换行符之前进行匹配。然而,在Python中,
\Z
的行为就像一个真正的字符串结束锚。

有无限多的表达式永远不会匹配任何内容。

例如,
^(?有无限多的表达式永远不会匹配任何内容。

例如,
^(?关于“$^”(行结束,然后行开始)如何?

关于“$^”(行结束,然后行开始)如何?

这是一个非常奇怪的请求,您能解释一下为什么需要它吗

在任何情况下,表达式“”都匹配任何内容,因为要求正则表达式应该出现在给定字符串的某个位置,而空字符串出现在每个字符串中-如果您熟悉数学中的集合论,这与每个集合包含空集{}的方式类似


现在,有几种方法可以得到不匹配的正则表达式;我想到的第一种方法是“$abc”。这要求字符串包含“abc”在字符串的结尾之后,这是不可能的,因此没有字符串可以满足这个正则表达式。

这是一个非常奇怪的请求,您能解释一下为什么需要它吗

在任何情况下,表达式“”都匹配任何内容,因为要求正则表达式应该出现在给定字符串的某个位置,而空字符串出现在每个字符串中-如果您熟悉数学中的集合论,这与每个集合包含空集{}的方式类似


现在,有几种方法可以获得一个不匹配的正则表达式;我想到的第一种方法是“$abc”。这要求字符串在字符串的结尾后包含“abc”,这是不可能的,因此没有字符串可以满足此正则表达式。

提示:尝试
打印(result.group())
查看实际匹配的内容。提示:尝试
打印(result.group())
查看实际匹配的内容。这匹配空字符串。因此不合适。这匹配空字符串。因此不合适。您甚至可以删除第二个
。您甚至可以删除第二个