为什么正则表达式不匹配URL?这个例子有什么问题?Python - 带有URL的正则表达式
import re
link = "http://example.com/~abc/cgi-bin/abc/"
regex = r'[c][g][i]'
matchOBJ = re.match(regex, link)
if (matchOBJ):
print "GOT IT"
print "END"
为什么正则表达式不匹配URL?这个例子有什么问题?Python - 带有URL的正则表达式
import re
link = "http://example.com/~abc/cgi-bin/abc/"
regex = r'[c][g][i]'
matchOBJ = re.match(regex, link)
if (matchOBJ):
print "GOT IT"
print "END"
并[c] [G] [I]并不真正意义为正则表达式。 你可能只想“cgi”。
也许你的意思是“[cgi]”?但是,你会匹配“要么C或G或我”。
例如,[CGI]。*
将匹配
由于'c'的开头,[cgi]会碰巧与“cgi”匹配。
你可能想一些接近:
import re
link = "http://example.com/~abc/cgi-bin/abc/"
regex = r'.*\/cgi-bin\/.*'
matchOBJ = re.match(regex, link)
if (matchOBJ):
print "GOT IT"
print "END"
但只考虑
if "cgi-bin" in link:
print "GOT IT EASY"
即使*更*过于复杂! – jonrsharpe
只是回答所述的问题 –
因为'match'检查字符串的开始 - 尝试're.search'。另外,请注意,您可以在链接中执行'if'cgi',',这里的regex是完全没有意义的。 – jonrsharpe
re.search制作。谢谢! –