I am trying to move away from TextPad and I just cant get reg expressions like ^ and $ to be replaced.

I have definitely ticked the regular expression box

What am I doing wrong

EDIT: I am trying to find the start of a new line - In textpad it is find '^' and ensure reg ex is enabled. With notepad++ it does not do that. It just says not found

link|improve this question
2  
Belongs on superuser.com – nos May 27 '10 at 14:09
I've used TextPad and found this same issue to be annoying (to put it mildly). Basically, Npp's Regex functionality is stunted when comared to most other Regex-s. This stems from the fact that Npp is an abstraction of the Scintilla Editor which uses a single-line-based RegEx :( -- The Npp crew are quite well aware of this issue, but it has (oddly) been on the back-burner (a time and resources issue). $ does work, but they haven't got ^ to work multi-line (yet). I know this limitation, and work with (and aroud it). As mentioned below ^(.) works. (Rarely, I revert to TPad or UltraEdit) – Peter.O Aug 5 '10 at 23:59
PS. you can often use Extended (vs RegEx ) as a workaround for \r and \n - this semi-mimics a start-of-line. Also, as a by-the-way, you can stay in Normal search and turn on View -- Show Symbol -- Show End of Line.. Although they don't (visually) appear in the Find-field, if you select CRLF first, the Find-field auto-prime kicks in when you press CTRL+F, and it quite happily becomes a multi-line (but not RegEx) search. Its not much different to Extended search, but I found it to be interesting, and some readers may also find it so. (I love Npp :) – Peter.O Aug 6 '10 at 0:21
feedback

migrated from stackoverflow.com May 27 '10 at 18:53

This question came from our site for professional and enthusiast programmers.

7 Answers

^ and $ are both anchors in Regex, which means if you want to replace the literal chars ^ and $ you need to escape them, usually with a leading backslash (\^, and \$).

To find the first character on a line use ^.

The start line anchor (^) is a zero-width match, so combining it with the . will find any character at the beginning of a line.

Maybe you can explain what you're actually trying to do?

link|improve this answer
feedback

Because these are special characters that represent the front (^) and end ($) of line. Try escaping them with a \.

Examples:

Match "Cat" at the beginning of the line:

^Cat

Match "Cat" at the end of line:

Cat$

Match "Cat" as only thing on a line:

^Cat$

Match a "$100" within a line:

\$100 

Here is a link for the specifics on regular expression matching within NotePad++

link|improve this answer
feedback

I've had the same issue myself. After some trial and error you can achieve the same by doing the following:

Find: ^(.)

Replace: [the string you wish you insert]\1

What this will do is locate and tag the first character of the line, put in the new string and put the tagged character after it.

For example, I needed to insert a single quote at the start of each line:

Find: ^(.)

Replace: '\1

You can do the same for the end of the line by doing:

Find: (.)$

Replace: \1*[the string you wish to append]*

link|improve this answer
feedback

try the normal search modus

link|improve this answer
feedback

This seems to be a bug in Notepad++ in where the cursor is placed on a match. If you instead search for ^., it will match the first character in a line and repeated Find Nexts will work.

link|improve this answer
feedback

I got it.

Before

  • Albert@hotmail.com
  • Lucas@gmail.com
  • Rober_Klein@aol.com
  • Fisher@zmail.com

After

  • Albert
  • Lucas
  • Rober_Klein
  • Fisher

Remove after character or text

@(.*)$

Remove before character or text

^(.*)@

dot = any character
asterisk = zero or more times
link|improve this answer
feedback

Here is how to do it...

Before:

$_GET['id']; $_GET['nick'];

After:

htmlentities($_GET['id']); htmlentities($_GET['nick']);

So. On the find field put:

$_GET(.*])

On the replace field put:

htmlentities($_GET\1)
link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.