Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Copy only the search expression results from a textfile in notepad++

Tags:

I have a source code and want simply to copy the strings which I find with an regular expression.

Just like:

asdladhsfhjk-hello1-asdlkajhsd asdsa-hello3-asdhjkl asdölkj-hello5- 

that I simply want to copy the -helloX- from the text. And not the line..

How do I do it?

like image 997
Caniko Avatar asked Mar 23 '15 19:03

Caniko


People also ask

How do I copy Notepad++ search results?

After the Find In Files, your results window will have some number of lines. If you click on a single line and either RClick > Copy will copy just that single line. If you click on the line that says a file name, then the RClick > Copy action will copy the results from that file.

How do you copy only marked lines in Notepad++?

1 Answer. Show activity on this post. Total 2 lines were bookmarked. now go to "search" menu > bookmark > copy bookmarked line.

How do I search for a regular expression in Notepad++?

Using Regex to find and replace text in Notepad++ In all examples, use select Find and Replace (Ctrl + H) to replace all the matches with the desired string or (no string). And also ensure the 'Regular expression' radio button is set.


1 Answers

[update: see extended instructions below if you are working with a file that has 1. lines with and lines without the pattern and 2. you want to erase all lines without the pattern and 3. only preserve the pattern from the remaining lines ].

Do a regular expression Find and Replace, with the search pattern as ^.*?(-hello[0-9]+-).*$ and the replacement as \1.

find and replace dialog in notepad++

  1. That finds a non-greedy match (match will be as small as it can) at the beginning of the line for anything, like so: ^.*?.
  2. Then your pattern is in (), so that it can be captured in a capture group.
  3. Then we match the rest of the line .*$.
  4. The \1 is the contents of the capture group matched in the ()s.

Here's how to delete non-pattern lines and preserve only the patterns from lines with the pattern.

  1. Bookmark all lines with the pattern:

enter image description here

  1. Delete the un-bookmarked lines, so that now you only have lines with the pattern.

enter image description here

  1. Now you can run the regex find and replace as above (first part of answer) to keep only the pattern from the remaining lines.
like image 168
DWright Avatar answered Oct 11 '22 04:10

DWright