Backreferences in python ?
Pankaj
pankajgode at gmail.com
Mon Jan 23 10:18:13 EST 2006
I have something like below in perl and i am searching for equivalent
in python:
::: Perl :::
***********
while( <FILEHANDLE> )
{
line = $_;
pattern = "printf\( \"$lineNo \" \),";
line =~ s/"for(.*)\((*.)\;(.*)/for$1\($pattern$2\;$3/g;
}
This is used to
search for : for ( i = 0; i < 10; i++)
Replace with: for( printf( "10" ), i =0; i < 10; i++)
Where 10 is the line no.
****************************************
What i tried in python was::
****************************************
f = open( "./1.c", "r")
fNew = open( "./1_new.c", "w")
for l in f:
print l
lineno = lineno + 1
strToFind = "for\((.*)\;(.*)"
## For Converting int to string, i.e. line no. to string
lineNoClone = lineno
pattern = "printf(\"" + str( lineNoClone) + "\"),"
print pattern
strToReplace = "for\(" + pattern + "\1\;"
fNew.write( l.replace( strToFind, strToReplace) )
print l
fNew.close()
More information about the Python-list
mailing list