From: William James Date: 2006-11-25T04:48:23+09:00 Subject: Re: Ruby with regular expression peppermonkey wrote: > Hi, > I'm new to Ruby (and Regular expressions in general) and as such, > this is rather a newbie question but I'm trying to write a script in > Ruby to open a file and do some string manipulation. > Basically I'm getting hung up with regular expressions. > Suppose there is a file that contains, among other lines, lines of the > following structure. > > "This [1234567890] points to [0987654321]" > > Assume the line structure (words, spaces etc.) stay constant. > The actual numbers (within the brackets) are not constant. > There is always 10 numbers within the brackets. > There are other lines that have numbers enclosed by '[',']' that must > be left alone. > > How can you replace only those numbers in the above structure to > "xxxxxxxxxx"? > Openning a file, searching the file, writing to the file I'm presuming > is simple but the expression to identify and then replace those numbers > are giving me problems. Any help would be greatly appreciated. > > Thank you. This will modify the original file and create a backup file. (And it should be a single line.) ruby -i.bak -pe"sub(/This \[\d{10}\] points to \[\d{10}\]/, 'This [xxxxxxxxxx] points to [yyyyyyyyyy]')" myfile