Regular expression help: unable to search ' # ' character in the file

Fredrik Lundh fredrik at pythonware.com
Sat Sep 27 14:58:19 CEST 2008


dudeja.rajat at gmail.com wrote:

> import re
> 
> fd = open(file, 'r')
> line = fd.readline
> pat1 = re.compile("\#*")
>             while(line):
>                 mat1 = pat1.search(line)
>                 if mat1:
>                     print line
>                     line = fd.readline()

I strongly doubt that this is the code you used.

> But the above prints the whole file instead of the hash lines only.

"*" means zero or more matches.  all lines is a file contain zero or 
more # characters.

but using a RE is overkill in this case, of course.  to check for a 
character or substring, use the "in" operator:

     for line in open(file):
         if "#" in line:
             print line

</F>




More information about the Python-list mailing list