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

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

dudeja.rajat at wrote:

> import re
> fd = open(file, 'r')
> line = fd.readline
> pat1 = re.compile("\#*")
>             while(line):
>                 mat1 =
>                 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


More information about the Python-list mailing list