On Aug 5, 2006, at 11:01 AM, Ronald J Kimball wrote:

On Sat, Aug 05, 2006 at 03:37:29PM +0100, Ben Dougall wrote:

On Saturday, August 5, 2006, at 03:27  pm, David Livesay wrote:

On Aug 5, 2006, at 10:19 AM, David Livesay wrote:

I would never ask anyone to write Perl. You can do this with
Find/Replace using regular expressions, which are bad enough. ;-)

Search for: (\d+)(\t)(.+\r)(\t)(.+\r)(\t)(.+\r)
Replace with: \1\2\3\1\4\5\1\6\7

Make sure "Use Grep" is checked.

If it doesn't work I may need to see part of the actual file. This
worked on your example.

Actually, this can be simplified a little:

Search for: (\d+)(\t.+\r)(\t.+\r)(\t.+\r)
Replace with: \1\2\1\3\1\4

a reoccurring problem i find with regex is a seeming
deficiency/inability to deal with varying number of things. what
happens if the requirement given was:
[snip]
is that doable with regex? that sort of thing often stumps me.

No, you cannot solve that problem with a single Find/Replace.  You can
match the lines all at once, but you can't get back all the chunks you want to keep. The best you could do is create a regex that fixes just the first line in each group, then apply it over and over until all the lines have
been updated.

This is why it's beneficial to be able to use a programming language such
as Perl.

Or a scripting language such as AppleScript. Or a scripting language such as Python. I've been able to get through life without ever having to resort to Perl.

--
------------------------------------------------------------------
Have a feature request? Not sure the software's working correctly?
If so, please send mail to <[EMAIL PROTECTED]>, not to the list.
List FAQ: <http://www.barebones.com/support/lists/bbedit_talk.shtml>
List archives: <http://www.listsearch.com/BBEditTalk.lasso>
To unsubscribe, send mail to:  <[EMAIL PROTECTED]>

Reply via email to