Python RegEx不匹配,但regexr.com具有相同的表达式

2024-06-30 15:17:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用以下代码来匹配文本est/(?p[0-9]{4})

使用: https://regexr.com/

它匹配文本,但在python中,它无法匹配具有相同表达式的相同文本:

[^a-z0-9\/]

这是两个条件的代码。我不知道为什么regEx会在regexr.com中匹配,但在python中不会匹配,除非有数字符号

import os
import re

#no work
if re.match("[^a-z0-9\/]", "test/(?P<year>[0-9]{4})"):
    print "match"
else:
    print "no match"

#works
if re.match("[^a-z0-9\/]", "#test/(?P<year>[0-9]{4})"):
    print "match"
else:
    print "no match"

Tags: no代码test文本importrecomif
1条回答
网友
1楼 · 发布于 2024-06-30 15:17:45

在第一段代码中:

if re.match("[^a-z0-9\/]", "test/(?P<year>[0-9]{4})"):
    print "match"
else:
    print "no match"

模式[^a-z0-9\/]从文本开头开始应用。因此,它失败是因为第一个字母是t,这与模式不匹配。如果只想匹配与原始模式对应的单个字符,则可以尝试以下模式:

.*[^a-z0-9\/].*

此模式将匹配两个示例字符串。如果你打算使用另一种模式,那么编辑你的问题,给我们更多的逻辑

相关问题 更多 >