5

I need to update a dateformat in a large file I have in textpad.

the dateformat is currently mm-dd-yyyy and I need to make it mm/dd/yyyy

each line with a date starts with a D.

like this: D02-12-2009

I have my regex search portion working fine ^D(.?)-(.?)-(.*?)?, but the replace is failing when trying to use $1 $2 $3 for my values D$1/$2/$3. It's replacing with the literal $1, $2, and $3. I have set textpad to use POSIX regex.

Any ideas how to capture the values and put them into my replace portion?

0

2 Answers 2

8

Please use \1 \2 \3 instead of $1 $2 $3

Find What: D([0-9]+)-([0-9]+)-([0-9]+)

Replace With: D\1/\2/\3

Before

D02-12-2009
D03-12-2009
D04-12-2009

After

D02/12/2009
D03/12/2009
D04/12/2009

Regarding Grouping

Groups a tagged expression to use in replacement expressions. An RE can have up to 9 tagged expressions, numbered according to their order in the RE. The corresponding replacement expression is \x, for x in the range 1-9. Example: If ([a-z]+) ([a-z]+) matches "way wrong", \2 \1 would replace it with "wrong way".

PS:I have no idea why this is moved to here, I had to come here for the first time. :-)

1
  • 1
    I couldn't get \1 to work in TextPad 7.0.9 only $1 would work and only if there's two or more groups. Otherwise I had to use $&. yuck Sep 12, 2013 at 21:00
0

"each line with a date starts with a D." I would for extra safety add "^" to the find expression: **^**D([0-9]+)-([0-9]+)-([0-9]+).
Not very likely that the string would occur somewhere else, but...

You must log in to answer this question.