Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a file full of lines like this:

<td>123.456</td>

that I want to convert to:

<td class="num">123.456</td>

I tried using the advanced find/replace (with regular expressions enabled):

find: <td>([0-9\.]+)</td>
replace: <td class="num">\1</td>

I can find my td elements fine, but somehow replace gets me an empty TD:

<td class="num"></td>

What am I doing wrong?

share|improve this question
    
It works fine for me... – djeidot Jul 23 '10 at 18:06
    
Works fine for me too. – boot13 Jul 24 '10 at 4:43

I've not used Notepad++ myself all that much, but you might check to make sure \1 is the correct... syntax? to use. For example, Dreamweaver uses %1 instead.

share|improve this answer
up vote 0 down vote accepted

It looks like it's a bug with Notepad++ or one if its plugins.

Switching the language from HTML to normal text fixed this for me.

share|improve this answer

This doesn't look like a bug to me. I know this post is a few months old, but humor me.

In your find line: find: ([0-9.]+)

It looks like you only told the engine to find one numeral before the period repeated one or more times. Shouldn't your regex look more like this.

find: ([0-9]+.[0-9]+)

Correct me if I'm wrong.

share|improve this answer
2  
You are wrong. :-) ([0-9.]+) matches 1 or more decimals or periods. Thus, it matches 049.0234.493 and 3059 and .... What you described sounds like ([0-9]+\.)+ – Thanatos Nov 2 '10 at 19:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .