我有以下函数,该函数应该读取.html
文件并搜索<input>
标记,并将<input type='hidden'>
标记注入到要显示在页面中的字符串中。
但是,这个条件永远不会满足:(例如if
语句永远不会被执行。)我的正则表达式出了什么问题?
def print_choose( params, name ):
filename = path + name
f = open( filename, 'r' )
records = f.readlines()
print "Content-Type: text/html"
print
page = ""
flag = True
for record in records:
if re.match( '<input*', str(record) ) != None:
print record
page += record
page += "<input type='hidden' name='pagename' value='psychology' />"
else:
page += record
print page
谢谢
答案 0 :(得分:5)
re.match
从字符串中的第一个字符开始。您确定不想要re.search
,它可以匹配字符串中间的模式吗?
答案 1 :(得分:3)
if re.match( '<input*', str(record) ) != None:
你可能想要<input.*
。现在,您将匹配<inputttttttttt
但不匹配<input>blahblah
。 .
表示任何字符,*表示0或与正则表达式中的最后一项匹配,因此.*
要求在0或更多字符上重复进行通配符匹配。
(PS签出regexpal进行正则表达式调试)