Daryl Lee <[EMAIL PROTECTED]> writes: > I am trying to locate all lines in a suite of files with quoted > strings of particular lengths. A search pattern like r'".{15}"' > finds 15-character strings very nicely. But I have some very long > ones, and a pattern like r'".{272}"' fails miserably, even though I > know I have at least one 272-character string.
It seems to work for me. Which version of Python are you using? Here is how I tested it. First, I modified your program so that it actually runs (sys and re imports were missing) and removed unnecessary globbing and file opening: import sys, re searchPattern = sys.argv[1] cpat = re.compile(searchPattern) lineNumber = 0 for line in sys.stdin: lineNumber += 1 m = cpat.search(line) if m is not None: print "(", lineNumber, ")", line Now, create a file with three lines, each with a string of different length: $ printf '"%*s"\n' 271 > fl $ printf '"%*s"\n' 272 >> fl $ printf '"%*s"\n' 273 >> fl And run the script: $ python scriptfile '".{272}"' < fl ( 2 ) "[... 272 blanks]" That looks correct to me. > In the short term, I can resort to locating the character positions > of the quotes, You can also catch all strings and only filter those of the length you care about. -- http://mail.python.org/mailman/listinfo/python-list