为什么我的RegExp在RegExr中匹配,而在Python中却不匹配?

Kur*_*urt 1 python regex

regexp = re.compile('[A-Z]\\d{4}')
prefix = regexp.match("\"O1533_FOO\" INTEGER NOT NULL ,")
Run Code Online (Sandbox Code Playgroud)

前缀是无,但我预计它是"O1533".

当我使用基于Web的工具http://regexr.com/时,它可以工作.

http://regexr.com/3bag5

我试图\用不同数量的\s 逃脱,我也尝试划分/s.无法让它工作.

一些RegExp专家可以修复我的表达吗?

Mar*_*oun 5

因为你应该更换match使用search.

match尝试从头开始匹配字符串,并且\"O1533_FOO\" INTEGER NOT NULL ,不以匹配的东西开头[A-Z],因此失败.

search()match():

:python提供基于正则表达式两种不同的基本操作re.match()的检查只在字符串的开始比赛,而re.search() 对于一个匹配字符串中的任何检查(这是Perl并默认情况下).