all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Daniel Martín" <mardani29@yahoo.es>
To: Joost <joostkremers@fastmail.fm>
Cc: fatiparty--- <help-gnu-emacs@gnu.org>
Subject: Re: Select/highlight and *copy* matches of some regex
Date: Tue, 28 Jun 2022 11:29:51 +0200	[thread overview]
Message-ID: <m135fp87ao.fsf@yahoo.es> (raw)
In-Reply-To: <8543a730-b78f-491f-a3a9-66e23034f0d9@www.fastmail.com> (Joost's message of "Mon, 27 Jun 2022 19:16:27 +0200")

Joost <joostkremers@fastmail.fm> writes:

> On Mon, 27 Jun 2022, at 18:12, tomas@tuxteam.de wrote:
>> Not a direct answer to your question, but perhaps similar. If you
>> can live with selecting /lines/ containing a match, there's "occur"
>> (M-x occur).
>
> Sorry, I meant to mention that, but I forgot. No, selecting lines is not an option, because it's the non-matching parts of each line that I'm trying to get rid of.
>
> In my particular use case, I'm trying to clean up a file that looks something like this:
>
> ```
> blah blah lang=en bla
> lang=de
> lang=fr blah blah
> blah lang=pt
> ```
>
> The part I'm interested in is "lang=xx", the rest needs to be
> removed. Each line contains this part (with different language codes),
> but may contain more text, which is irrelevant to me. There's no
> pattern to the irrelevant part, it can basically be any text.
>
> I can highlight them with `highlight-regexp`, search for them with isearch, but there doesn't seem to be a straightforward way to copy or kill them...

You can pass the universal argument to occur to only show the matches
for the regexp, excluding the rest of the line.  For example:

C-u C-s REGEXP C-u M-s o

This will show an *Occur* buffer with only the matching parts of REGEXP
in the current buffer, which you can save to a file, etc.



  parent reply	other threads:[~2022-06-28  9:29 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-27 15:52 Select/highlight and *copy* matches of some regex Joost
2022-06-27 16:12 ` tomas
2022-06-27 17:16   ` Joost
2022-06-27 17:44     ` tomas
2022-06-28  4:40     ` Visuwesh
2022-06-28 19:52       ` Emanuel Berg
2022-06-29 21:40       ` Joost Kremers
2022-06-30  6:05         ` Emanuel Berg
2022-06-28  9:29     ` Daniel Martín [this message]
2022-06-28 10:33       ` tomas
2022-06-27 20:56 ` Stephen Berman
2022-06-27 21:09   ` Joost Kremers
2022-06-27 22:26     ` Emanuel Berg
2022-06-27 22:29     ` Emanuel Berg
2022-06-27 22:41       ` Emanuel Berg
2022-06-27 23:11         ` DWIM interface (was: Re: Select/highlight and *copy* matches of some regex) Emanuel Berg
2022-06-27 22:44       ` Select/highlight and *copy* matches of some regex Emanuel Berg
2022-06-28  4:43         ` tomas
2022-06-28  5:37           ` Emanuel Berg
2022-06-28  4:42   ` tomas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m135fp87ao.fsf@yahoo.es \
    --to=mardani29@yahoo.es \
    --cc=help-gnu-emacs@gnu.org \
    --cc=joostkremers@fastmail.fm \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.