1

我有以下函数,它应该读取.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

谢谢

4

2 回答 2

5

re.match从字符串中的第一个字符开始。你确定你不想要re.search,它可以匹配字符串中间的模式吗?

于 2012-10-24T23:03:10.810 回答
3
   if re.match( '<input*', str(record) ) != None:

你可能想要<input.*. 现在你会匹配 on<inputttttttttt但不是<input>blahblah. .表示任何字符,* 表示 0 或匹配正则表达式中的最后一项,因此要求.*在 0 个或更多字符上重复通配符匹配。

(PS检查正则表达式的正则表达式调试)

于 2012-10-24T22:59:48.540 回答